[자바스크립트] switch문
글 작성자: 망고좋아
반응형
switch문
- if 조건문을 switch문으로 바꿀 수 있다.
문법
switch
문은 하나 이상의case
문으로 구성default
은 필수가 아니다.
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
case
문에서 변수x
의 값과 일치하는 값을 찾으면 해당case
문의 아래의 코드가 실행된다.- 이때,
break
문을 만나거나switch
문이 끝나면 코드의 실행은 멈춘다. - 값과 일치하는
case
문이 없다면,default
문 아래의 코드가 실행됩니다(default
문이 있는 경우).
let a = 2 + 2;
switch (a) {
case 3:
alert( '비교하려는 값보다 작습니다.' );
break;
case 4: //**** 실행
alert( '비교하려는 값과 일치합니다.' );
break;
case 5:
alert( '비교하려는 값보다 큽니다.' );
break;
default:
alert( "어떤 값인지 파악이 되지 않습니다." );
}
- case문 안에 break문이 없으면 조건에 부합하는지 여부를 따지지 않고 이어지는 case문을 실행한다.
여러 개의 "case"문 묶기
let a = 3;
switch (a) {
case 4:
alert('계산이 맞습니다!');
break;
case 3: // (*) 두 case문을 묶음
case 5:
alert('계산이 틀립니다!');
alert("수학 수업을 다시 들어보는걸 권유 드립니다.");
break;
default:
alert('계산 결과가 이상하네요.');
}
case 3
과case 5
는 동일한 메시지를 보여준다.
자료형의 중요성
let arg = prompt("값을 입력해주세요.");
switch (arg) {
case '0':
case '1':
alert( '0이나 1을 입력하셨습니다.' );
break;
case '2':
alert( '2를 입력하셨습니다.' );
break;
case 3:
alert( '이 코드는 절대 실행되지 않습니다!' );
break;
default:
alert( '알 수 없는 값을 입력하셨습니다.' );
}
0
이나1
을 입력한 경우엔 첫 번째alert
문이 실행2
를 입력한 경우엔 두 번째alert
문이 실행3
을 입력하였더라도 세 번째alert
문은 실행되지 않는다.prompt
함수는 사용자가 입력 필드에 기재한 값을 문자열로 변환해 반환하기 때문에 숫자3
을 입력하더라도prompt
함수는 문자열'3'
을 반환한다.- 그런데 세 번째
case
문에선 사용자가 입력한 값과 숫자형 3을 비교하므로, 형 자체가 다르기 때문에case 3
아래의 코드는 실행되지 않는다. - 대신
default
문이 실행
📌 참고
반응형
'프로그래밍 > JavaScript' 카테고리의 다른 글
[자바스크립트] 함수 표현식 (0) | 2021.06.29 |
---|---|
[자바스크립트] 함수 (0) | 2021.06.29 |
[자바스크립트] while과 for 반복문 (0) | 2021.06.29 |
[자바스크립트] null 병합 연산자 -'??' (0) | 2021.06.29 |
[자바스크립트] 논리 연산자 (0) | 2021.06.29 |
댓글
이 글 공유하기
다른 글
-
[자바스크립트] 함수 표현식
[자바스크립트] 함수 표현식
2021.06.29 -
[자바스크립트] 함수
[자바스크립트] 함수
2021.06.29 -
[자바스크립트] while과 for 반복문
[자바스크립트] while과 for 반복문
2021.06.29 -
[자바스크립트] null 병합 연산자 -'??'
[자바스크립트] null 병합 연산자 -'??'
2021.06.29