ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Javascript- prompt / length / slice
    explore 2023. 9. 16. 21:58
    728x90

    alert, prompt, slice 등을 익히면서 푼 두 가지 문제를 다시 정리.

     

    환경

    Chrome 브라우저, iMac 사용. 아무 사이트를 하나 골라서 개발자 도구(Developer Tool)로 Source > snippet을 선택해서 실행했고, 콘솔(Console)에서 verify 하면서 진행했다.

     

    #1. 남은 글자 수 출력

    140자까지만 입력할 수 있는 경우, 몇 자가 남았는지 알려주기. 이 문제는 아래와 같이 세가지 단계로 나눠볼 수 있다.

    1. 문장을 입력할 수 있는 빈칸 띄우기
    2. 글자수를 계산하기
    3. 140자 중 몇자를 더 쓸 수 있는지 알려주기

    tweet이라는 var를 정의한 후, prompt를 활용해서 문장을 입력하도록 한 후 length로 글자 수를 세고, 몇 자가 남았는지 alert으로 띄웠다.

    var tweet = prompt("Compose your tweet:");
    var tweetCount = tweet.length;
    alert("You have written "+ tweetCount + " characters, you have "+ (140-tweetCount)+" characters remaining.");

     

    #2. 첫 번째 글자만 대문자로 바꿔서 인사와 함께 출력하기

    사용자가 입력한 영어 이름을 첫 번째 글자만 대문자로 바꿔서 인사와 함께 출력하기 (예. Hello, Gianna!). 두번째 문제는 1번보다 약간 복잡하고 지금까지 배운 자바스크립트를 총동원해야했기때문에 시간이 조금 더 걸렸다.

    1. 이름을 입력받기
    2. 모든 글자를 소문자로 바꾸기
    3. 첫번째 글자와 나머지 글자를 분리하기
    4. 대문자로 바꾼 첫 글자와 이름의 나머지 부분을 합쳐서 출력하기

    var name = prompt("What is your name? ");
    name = name.toLowerCase();
    var nameslice1 = name.slice(0, 1);
    var nameslice2 = name.slice(1, name.length);
    alert("Hello, "+ nameslice1.toUpperCase() + nameslice2);

     

    실수하거나 헤맨 것

    1. slice를 아래처럼 쉼표(,)가 아닌 마침표(.)를 썼다.

    slice(1.3)

    2. 전체 글자 수를 모르는데, 첫 번째 글자를 뺀 나머지 글자를 어떻게 분리하지? 이 부분을 꽤 한참 고민했는데 length로 해결했다.

    var nameslice2 = name.slice(1, name.length);

     

    느낀점

    문제는 최소 단위로 나눠서 한 번에 하나씩 해결하기.

    개발은 문제를 바라보고, 인식하고, 해결하기 위해 시도하는 과정이구나. 이 말이 어떤 의미인지 어렴풋이 와닿는 하루였다. string에 대한 이런저런 기능을 연습했지만 "급한 마음으로 문제를 한 번에 풀려고 하지 말아야 한다"는 것을 절실히 느꼈다.

    차근차근 문제를 다시 정의하기

    1번 문제는 간단했으니 한 번에 풀 수 있었지만, 2번도 같은 방식으로 접근하니 막막했다. 문제 자체에 답을 낼 수 있는 프로세스가 이미 담겨있으니, 하나씩 하나씩 단계를 나눠서 문제를 다시 정의하는 습관을 들여야겠다.

    특히 지금의 나처럼 완벽한 초보라면 더욱 이런 과정을 거치는 것이 좋겠다. 그리고 꼭 한 줄 한 줄 console에서 verify 하면서 차근차근 진행할 것.

     

     

    참고
    Alert method https://developer.mozilla.org/en-US/docs/Web/API/Window/alert
    Prompt method https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt

     

     

    728x90

    'explore' 카테고리의 다른 글

    Solo SaaS를 위한 버블(Bubble.io) 탐색  (1) 2023.09.22
    Javascript- if/else 조건 출력  (0) 2023.09.20
    SSH Key 만들고 등록하기  (0) 2023.09.13
    Zoom보다 가벼운 비디오챗- Whereby  (12) 2023.09.11
    Momentum으로 시작하기  (12) 2023.09.11
ⓒ 2023 GONI LAB.