switch문 링크: https://ko.javascript.info/switch
각 case 마다 break; 를 쓰지 않으면 switch 조건에 부합하는 case를 만난 후에도 나머지 case들 까지 전부 실행된다.
<script>
let a = "1";
let b = 0;
switch(+a) {
case b+1:
alert("표현식 +a는 1, b+1은 1이므로 코드실행O");
break;
default:
alert("이 코드는 실행X");
</script>
}
코드가 같은 case문은 한데 묶을 수 있습니다.
<script>
let a = 3;
switch (a) {
case 4 : ~;
breake;
case 3:
case 5: ~
break;
default: ~
}
</script>
위의 예시중 case 3 과 5 처럼 묶을 수 있습니다.
비교하려는 값과 case문의 값과 형식이 같아야 해당 case문이 실행된다.
자료형이 다르면 해당 case문은 절대 실행 될 수 없다!
<script>
let arg = prompt("값을 입력해주세요.");
switch (arg) {
case '0':
case '1':
alert( '0이나 1을 입력하셨습니다.' );
break;
case '2':
alert( '2를 입력하셨습니다.' );
break;
case 3:
alert( '이 코드는 절대 실행되지 않습니다!' );
break;
default:
alert( '알 수 없는 값을 입력하셨습니다.' );
}
</script>
prompt는 입력된 값을 문자형으로 변환하여 반환하기 때문에 case 3은 절대 성립될 수 없다!
대신 default 구문이 실행된다.