복수의 if 조건문 → switch문 변환 가능
예시 문 )
<aside> 💡 switch(x) { case 'value1': // if (x === 'value1') ... [break]
case 'value2': // if (x === 'value2') ... [break]
default: ... [break] }
만나면 실행 종료
</aside>
Case 2 ) break 구문이 없으면 이어지는 case구문을 그대로 시행한다.
<aside> 💡
let a = 1 + 1;
switch (a) { case 0: alert( “적습니다.”); case 1: alert( “적습니다.” ); case 2: alert( “일치.”);
case 3:
alert(”큽니다.”) default: alert( "파악 불가" ); }
출력 값은? → alert (”일치.”), alert(”큽니다”), alert(”파악불가”)
</aside>
Switch/case문에는 어떤 표현식이든 올 수 있다.
<aside> 💡 let a = "1"; let b = 0;
switch (+a) { case b + 1: alert("표현식 +a는 1, 표현식 b+1는 1이므로 이 코드가 실행됩니다."); break;
default: alert("이 코드는 실행되지 않습니다."); }
+a = 1 → case b+1 = 0+1 (일치)하기 때문에 주황색 코드 실행
</aside>
switch/case
문에서 break
문이 없는 경우엔 조건에 상관없이 다음 case
문이 실행되는 부작용
<aside> 💡 case 3: // (*) 두 case문을 묶음 case 5: alert('계산이 틀립니다!'); alert("수학 수업을 다시 들어보는 걸 권유 드립니다."); break;
</aside>