더북(TheBook)

9.4.4 if 문 vs switch 문

자바스크립트는 조건문으로 if 문과 switch 문을 제공하는데, 이 둘의 차이는 무엇일까요? 두 조건문의 결정적 차이는 조건의 형태입니다. if 문은 조건에 식(statement)을 사용하고, switch 문은 조건에 값(value)을 사용합니다. 이 때문에 실제로 조건문을 작성할 때 무척 달라집니다. 예를 들어, 90부터 99까지 ‘A++ 학점’이라고 출력하는 코드를 작성한다고 해 봅시다. if 문으로는 다음과 같이 작성할 수 있습니다.

09/04/if_case.js

let score = 90;
if(score >= 90 && score < 100){
  console.log("A++ 학점");
}

엄청 간단하죠? 하지만 같은 조건문이라도 switch 문으로는 다음처럼 작성해야 합니다.

09/04/switch_case.js

let score = 90;
switch(score){
  case 90:    
  (중략)
  case 98:
  case 99:
    console.log("A++ 학점");
    break;
  default:
    break;
}

switch 문은 조건으로 값을 받기 때문에 값이 범위일 때는 모든 값을 일일이 case 문으로 정의해야 합니다. 따라서 범위를 이용한 조건을 작성할 때는 if 문이 적합합니다. 그러나 값이 하나일 때는 switch 문이 더 적합합니다. 이러한 차이점을 기억해 적절히 사용하면 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.