자바스크립트

Section 3. 자바스크립트 if/else

포칼이 2023. 3. 23. 17:10

if문

const open = true;

if (open) {
  console.log('환영합니다.');
  console.log('즐거운 쇼핑하세요!');
}

풀어서 설명하면 open이 true일때 블록내에 있는 것들을 실행하라~ 정도가 된다. 

 

if ~ else문

const x = 20;

if (x % 2) {
  console.log('홀수입니다.');
} else {
  console.log('짝수입니다.');
}

x를 2로 나눈 나머지는 0이니까 falsy가 된다. 그러면 else문을 실행하게 되어 '짝수입니다'가 출력되게 된다.

 

if문은 중첩사용이 가능하다.

const x = 22;

if (x % 4) { //참이면 이 블럭 실행
  if (x % 2) { //참이면 이 블럭 실행
    console.log('홀수입니다.');
  } else { //거짓이면 이 블럭 실행
    console.log('짝수입니다.');
  }
} else { //거짓이면 이 블럭 실행
  console.log('4의 배수입니다.');
}

22를 4로 나누면 나머지가 2이다. 따라서 참 이므로 그 안에 있는 if문을 실행하게 된다. 여기서 2를 2로 나눈 나머지는 0이 되어 falsy가 되므로 else문이 실행되어 짝수입니다. 라고 출력이 된다. 

 

if ~ else if ~ 문

const x = 21;

if (x % 2) { //참이면 이 안의 블럭 실행
  console.log('홀수입니다.');
} else if (x % 4) { //거짓일때 이 조건이 참이면 실행
  console.log('짝수입니다.');
} else { //거짓일때 실행
  console.log('4의 배수입니다.');
}

하지만 if ~ else if~문을 쓰는 것보다 권장되는 방법이 따로 있다.

function evalNum () {
  const x = 21;

  if (x % 2) {
    console.log('홀수입니다.');
    return;
  }

  if (x % 4) {
    console.log('짝수입니다.');
    return;
  }

  console.log('4의 배수입니다.');
}

evalNum(); //evalNum()안에 있는 것들이 실행된다.
console.log('블록문 바깥');

return문을 쓰는 방식이 권장되는 방법이다. 

return문은 함수 실행을 완전히 종료한다.