switch(x) {
case value1 : // if (x === 'value1')
...
break;
case value2 : // if (x === 'value2')
...
break;
default:
...
break;
}
예시
let a = 2 + 2;
switch(a) {
case 3:
alert('비교하려는 값보다 작습니다');
break;
case 4:
alert('비교하려는 값보다 작습니다');
break;
case 5:
alert('비교하려는 값보다 작습니다');
break;
default:
alert('값을 입력하세요!');
}
만약 break
문이 없다면 어떻게 될까요?
case
문 안에 break
문이 없으면 조건에 부합하는지 따지지 않고 이어지는 case
문을 실행합니다!
let a = 2 + 2;
switch (a) {
case 3:
alert('비교 값보다 작습니다');
case 4:
alert('비교 값과 일치합니다.');
case 5:
alert('비교 값보다 큽니다');
default:
alert('값을 입력해주세요!');
}
위 예시를 실행하면
alert('비교 값과 일치합니다.');
alert('비교 값보다 큽니다.');
alert('값을 입력해주세요!');
let a = 3 + 1;
switch (a) {
case 4:
alert('계산이 맞습니다');
break;
case 3:
case 5:
alert('계산이 틀려요');
alert('바보십니까?');
break;
default:
alert("error");
}
let arg = prompt("값을 입력해주세요.");
switch (arg) {
case '0':
case '1':
alert('0이나 1을 입력했습니다');
break;
case '2':
alert('2를 입력했습니다.');
break;
case 3:
alert(' 이 코드는 실행되지 않습니다!'); //자료형이 달라서 실행되지 않습니다.
break;
default:
alert('error');
}
3은 숫자형이고 prompt 입력값은 문자형입니다.