모던 JavaScript 튜토리얼 내용 중 일부를 정리한 내용입니다.
복수의 if 조건문은 switch 문으로 바꿀 수 있습니다. 특정 변수를 다양한 상황에서 비교할 수 있고 코드 자체가 비교 상황을 잘 설명해줍니다.
switch(x) {
case 'value1' : // if ( x === 'value1')
...
[break]
case 'value2' : // if ( x === 'value2')
...
[break]
..
default
...
[break]
}
변수 x 의 값과 일치하는 값을 찾으면 해당 case 문 아래 코드가 실행됩니다. break 문을 만나거나 switch 문이 끝나면 코드 실행을 멈춥니다. 값과 일치하는 case 문이 없다면 default 문 아래 코드가 실행됩니다.
실제 데이터가 들어간 예시는 아래와 같습니다. 이 때 break 문을 쓰지 않으면 case 4 아래 코드를 모두 실행시키니 주의합니다.
let a = 2 + 2;
switch (a) {
case 3:
alert( '비교하려는 값보다 작습니다.' );
break;
case 4:
alert( '비교하려는 값과 일치합니다.' );
break;
case 5:
alert( '비교하려는 값보다 큽니다.' );
break;
default:
alert( "어떤 값인지 파악이 되지 않습니다." );
}
코드가 같은 case 는 묶어줄 수 있습니다. 아래 코드에서 case 3 과 5는 같은 메시지를 보여줍니다.
let a = 3;
switch (a) {
case 4:
alert('계산이 맞습니다!');
break;
case 3: // (*) 두 case문을 묶음
case 5:
alert('계산이 틀립니다!');
alert("수학 수업을 다시 들어보는걸 권유 드립니다.");
break;
default:
alert('계산 결과가 이상하네요.');
}
switch 문은 일치 비교로 조건을 확인하므로 비교하는 값의 자료형이 중요합니다.