JavaScript switch 구문
switch 구문
실행할 여러 코드 블록 중 하나를 선택하려면 switch
문을 사용하십시오.
구문
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
작동 방식 :
switch
식은 한 번 평가됩니다.expression
값은 각case
의 값과 비교됩니다.- 일치하는 코드가 있으면 연결된 코드 블록이 실행됩니다.
- 일치 항목이 없으면
default
코드 블록이 실행됩니다.
getDay()
메서드는 평일을 0에서 6 사이의 숫자로 반환합니다.
(일요일=0, 월요일=1, 화요일=2..)
다음 예제에서는 평일 번호를 사용하여 평일 이름을 계산합니다.
예제 1
switch (new Date().getDay()) {
case 0:
day = "Sunday";
break;
case 1:
day = "Monday";
break;
case 2:
day = "Tuesday";
break;
case 3:
day = "Wednesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
}
break 키워드
JavaScript가 break
키워드에 도달하면 스위치 블록에서 분리됩니다.
그러면 스위치 블록 내에서 실행이 중지됩니다.
Note: break
구문을 생략하면 값이 케이스와 일치하지 않더라도 다음 케이스가 실행됩니다.
default 키워드
default
키워드는 케이스가 일치하지 않는 경우 실행할 코드를 지정합니다.
getDay()
메서드는 평일을 0에서 6 사이의 숫자로 반환합니다.
오늘이 토요일(6)도 일요일(0)도 아닌 경우 기본 메시지를 작성합니다.
예제 2
switch (new Date().getDay()) {
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
default
케이스가 스위치 블록의 마지막 케이스일 필요는 없습니다.
예제 3
switch (new Date().getDay()) {
default:
text = "Looking forward to the Weekend";
break;
case 6:
text = "Today is Saturday";
break;
case 0:
text = "Today is Sunday";
}
공통 코드 블록
경우에 따라 다른 스위치 케이스가 동일한 코드를 사용하기를 원할 수 있습니다.
이 예에서 4와 5는 동일한 코드 블록을 공유하고, 0과 6은 다른 코드 블록을 공유합니다.
예제 4
switch (new Date().getDay()) {
case 4:
case 5:
text = "Soon it is Weekend";
break;
case 0:
case 6:
text = "It is Weekend";
break;
default:
text = "Looking forward to the Weekend";
}
전환 디테일
여러 케이스가 케이스 값과 일치하는 경우 첫 번째 케이스가 선택됩니다.
일치하는 사례가 발견되지 않으면 프로그램은 default 케이스가 선택됩니다.
default 케이스를 찾을 수 없는 경우 프로그램은 스위치 뒤에 있는 문장으로 계속됩니다.
엄격한 비교
스위치 케이스는 엄격한 비교(===
)를 사용합니다.
일치시키려면 값이 동일한 유형이어야 합니다.
피연산자의 유형이 동일한 경우에만 엄격한 비교가 참일 수 있습니다.
이 예에서는 x와 일치하는 항목이 없습니다.
예제 5
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}