if문
과 switch문
은 대표적인 조건식인데 무슨 차이점이 있을까?
if문은 넓은 범위를 만족하는 조건식에 적합하고, switch 문은 특정한 값에 일치하는 조건을 만들 때 효과적이다.
let caseNum = 2;
switch(caseNum){
case 1:
console.log('1');
break;
case 2:
console.log('2');
break;
default:
console.log('1, 2외의 다른 숫자');
}
if(caseNum === 1){
console.log('1');
} else if(caseNum === 2){
console.log('2');
} else {
console.log('1, 2외의 다른 숫자');
}
위의 결과는 2
로 동일합니다.
단, switch 문은 암시적 형 변환을 허용하지 않는다.
위의 caseNum을 '2'라고 한다면 switch 문에서는 default 문이 실행되고 if 문에서는 else가 실행된다.
이 때, if문의 조건들을 등호로 바꾼다면 if문에서는 2가 실행된다.
즉, switch 문은 값들을 비교할 때 자료형을 엄격하게 구분하고, if문을 대체할 때는 반드시 등호 3개로 일치비교를 해야한다.
=> 자료형에 엄격하게 코드를 짜고 Strict Equal Operator (===)을 사용하자! 👏🏻