복수의 if
문 → switch
문으로
보통 하나 이상의 case
문으로 구성됨
<script>
switch (key) {
case 'value1':
break;
case 'value2':
default:
break;
}
</script>
x
와 value1
을 일치 비교, 후에 value2
와 일치 비교,,,case
문에서 변수 x
의 값과 일치하는 값을 찾으면 해당 case
문의 아래의 코드가 실행됨.break
문이나 switch
문이 끝나면 코드 실행 멈춤case
문이 없다면 default
아래의 코드가 실행 됨 (default
문이 존재할 때)<script>
let a = 2 + 2;
switch (a) {
case 3:
alert('비교하려는 값보다 작음');
break;
case 4:
alert('비교하려는 값과 일치');
break;
case 5:
alert('비교하려는 값보다 큼');
break;
default:
alert('어떤 값인지 파악되지 않음');
}
</script>
→ break
문을 삭제하면 case 4
이후 모든 alert
문이 실행됨
코드가 같은 case문은 묶을 수 있음
case3, case5
<script>
let a = 3;
switch (a) {
case 4:
alert('계산이 틀림');
break;
case 3:
case 5:
alert('계산이 틀림');
alert('수학 수업 다시 들으세요');
break;
default:
alert('계산 결과가 이상해요');
}
</script>
비교하려는 값과 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 함수는 사용자가 입력 필드에 기재한 값을 문자열로 변환해 반환하기에 숫자 3을 입력하더라도 prompt 함수는 문자열 ‘3’을 반환함