Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

항해일지

[TIL]온보딩 스터디 Day 02 (조건문) 본문

항해99/TIL

[TIL]온보딩 스터디 Day 02 (조건문)

효환 2023. 3. 7. 18:27

[강의 정리]

 

if문 

 
조건에 따라 다른 행동을 취해야 할 때가 있습니다.
이럴 땐, if문과 ‘물음표’ 연산자라고도 불리는 조건부 연산자 ?를 사용하면 됩니다.
 
 
if(...)문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가 true이면 코드 블록이 실행됩니다.
 

예시 :

        let year = prompt('ECMAScript-2015 명세는 몇 년도에 출판되었을까요?', '');
        if (year == 2015) alert('정답입니다!');

이와 같이 조건이 만족이 되면 출력한다.

 

[내가 짠 if문 예시]

        if(a < 10){
            console.log('if 조건에 맞으므로 출력합니다.')
        }else if(a > 10){
            console.log('else if 조건에 맞으므로 출력합니다')
        }else {
            console.log('위에 조건들에 만족하는것이 없으면 출력합니다')
        }
 
 
if (…) 문은 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환합니다.
형 변환 챕터에서 배운 형 변환 규칙을 잠시 상기해 봅시다.
  • 숫자 0, 빈 문자열"", null, undefined, NaN은 불린형으로 변환 시 모두 false가 됩니다. 이런 값들은 ‘falsy(거짓 같은)’ 값이라고 부릅니다.
  • 이 외의 값은 불린형으로 변환시 true가 되므로 ‘truthy(참 같은)’ 값이라고 부릅니다.
     
    이 규칙에 따르면 아래 예시의 코드 블록은 절대 실행되지 않습니다.
       if (0) { // 0은 falsy입니다.
           ...
        }
        if (1) { // 1은 truthy입니다.
           ...
        }

 

물음표 연산자?를 여러 개 연결하면 복수의 조건을 처리할 수 있습니다.
예시:
let age = prompt('나이를 입력해주세요.', 18);
        let message = (age < 3) ? '아기야 안녕?' :
            (age < 18) ? '안녕!' :
                (age < 100) ? '환영합니다!' :
                    '나이가 아주 많으시거나, 나이가 아닌 값을 입력 하셨군요!';
        alert(message);

 


 

switch문 

 

복수의 if 조건문은 switch문으로 바꿀 수 있습니다.

switch문을 사용한 비교법은 특정 변수를 다양한 상황에서 비교할 수 있게 해줍니다. 코드 자체가 비교 상황을 잘 설명한다는 장점도 있습니다.
 
예시:
        switch (x) {
            case 'value1':  // if (x === 'value1')
                 ...
                [break]
            case 'value2':  // if (x === 'value2')
                 ...
                [break]
            default:
                 ...
                [break]
        }
  • 변수 x의 값과 첫 번째 case문의 값 'value1'를 일치 비교한 후, 두 번째 case문의 값 'value2'와 비교합니다. 이런 과정은 계속 이어집니다.
  • case문에서 변수 x의 값과 일치하는 값을 찾으면 해당 case 문의 아래의 코드가 실행됩니다. 이때, break문을 만나거나 switch 문이 끝나면 코드의 실행은 멈춥니다.
  • 값과 일치하는 case문이 없다면, default문 아래의 코드가 실행됩니다(default 문이 있는 경우).

 

 

 


느낀점 및 보완할 점

 

온보딩 스터디 2일차에 조건문에 대하여 공부하였다.

if 문을 공부하고 사용하는 부분에 있어서는 크게 어려운 부분은 없었다 다만 다중 조건 처리를할때 else if else 를 사용해야하는데 if로 바꿔놔도 값이 똑같이 나와 신기했다.

        if (e === 0) { result = '경' }
        else if (e === 1) { result = '신' }
        else if (e === 2) { result = '임' }
        else if (e === 3) { result = '계' }
        else if (e === 4) { result = '갑' }
        else if (e === 5) { result = '을' }
        else if (e === 6) { result = '병' }                     똑같이 출력된다
        else if (e === 7) { result = '정' }
        else if (e === 8) { result = '무' }
        else if (e === 9) { result = '기' }
        if (e === 0) { result = '경' }
        if (e === 1) { result = '신' }
        if (e === 2) { result = '임' }
        if (e === 3) { result = '계' }
        if (e === 4) { result = '갑' }
        if (e === 5) { result = '을' }
        if (e === 6) { result = '병' }
        if (e === 7) { result = '정' }
        if (e === 8) { result = '무' }
        if (e === 9) { result = '기' }

자바스크립트의 자유도가 높아서 그런거인지 문법에 문제가 없는거인지 이부분은 조금더 알아 봐야겠다.

switch문은 if랑 비슷했는데 내 기준에서 if보다 어려웠다. 내가 생각하기에 조건 보다는 비교? 같았다.

if문은 이조건이면 이거 출력 아니라면 다음 조건 출력 이런 느낌이라면 switch 문은 문법이 시각적으로 더 간단해 보였지만

이해 하기에 조금더 어려웠다. switch문에 대해서는 아직 조금더 공부가 필요할거같다.

두 조건문 둘다 사용할수 있는 상황이라면 나는  if문을 선택할거같다.

 

Comments