JavaScript Switch 문
switch
명령문은 다른 조건에 따라 다른 작업을 수행하는 데 사용됩니다 .
JavaScript Switch 문
명령문을 사용하여 switch
실행할 많은 코드 블록 중 하나를 선택하십시오.
통사론
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
작동 방식은 다음과 같습니다.
- 스위치 표현식은 한 번 평가됩니다.
- 표현식의 값은 각 경우의 값과 비교됩니다.
- 일치하는 항목이 있으면 연결된 코드 블록이 실행됩니다.
- 일치하는 항목이 없으면 기본 코드 블록이 실행됩니다.
예시
이 getDay()
메서드는 0에서 6 사이의 숫자로 요일을 반환합니다.
(일요일=0, 월요일=1, 화요일=2 ..)
이 예에서는 요일 번호를 사용하여 요일 이름을 계산합니다.
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";
}
하루의 결과는 다음과 같습니다.
Saturday
휴식 키워드
JavaScript가 break
키워드에 도달하면 스위치 블록에서 나옵니다.
이렇게 하면 스위치 블록 내에서 실행이 중지됩니다.
스위치 블록에서 마지막 대소문자를 구분할 필요는 없습니다. 어쨌든 블록은 거기서 끊깁니다.
참고: break 문을 생략하면 평가가 케이스와 일치하지 않아도 다음 케이스가 실행됩니다.
기본 키워드
키워드 는 default
대소문자 일치가 없는 경우 실행할 코드를 지정합니다.
예시
이 getDay()
메서드는 0에서 6 사이의 숫자로 요일을 반환합니다.
오늘이 토요일(6)도 일요일(0)도 아닌 경우 기본 메시지를 작성합니다.
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";
}
텍스트 결과는 다음과 같습니다.
Today is Saturday
케이스가 스위치 블록 의 default
마지막 케이스일 필요는 없습니다.
예시
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";
}
가 switch 블록의 마지막 케이스가 아닌 경우 default
기본 케이스를 중단으로 끝내는 것을 잊지 마십시오.
공통 코드 블록
때로는 다른 스위치 케이스가 동일한 코드를 사용하기를 원할 것입니다.
이 예제의 경우 4와 5는 동일한 코드 블록을 공유하고 0과 6은 다른 코드 블록을 공유합니다.
예시
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";
}
스위칭 세부 사항
여러 케이스가 케이스 값과 일치하는 경우 첫 번째 케이스가 선택됩니다.
일치하는 케이스가 없으면 프로그램은 기본 레이블을 계속 사용합니다.
기본 레이블이 없으면 프로그램은 switch 뒤의 명령문으로 계속 진행합니다 .
엄격한 비교
스위치 케이스는 엄격한 비교(===)를 사용합니다.
값은 일치하는 동일한 유형이어야 합니다.
엄격한 비교는 피연산자가 같은 유형인 경우에만 참이 될 수 있습니다.
이 예에서는 x에 대해 일치하는 항목이 없습니다.
예시
let x = "0";
switch (x) {
case 0:
text = "Off";
break;
case 1:
text = "On";
break;
default:
text = "No value found";
}