그만큼 자바스크립트 스위치 문 표현식을 평가하고 일치하는 사례를 기반으로 코드 블록을 실행합니다. 이는 긴 if-else 체인에 대한 대안을 제공하여 특히 여러 조건부 분기를 처리할 때 가독성과 유지 관리성을 향상시킵니다.
내용의 테이블
문자열을 정수로 변환 자바
Switch 문 구문
switch (expression) { case value1: // code block 1; break; case value2: // code block 2; break; ... default: // default code block; }>
-
Expression>
비교하려는 값입니다. Case value1>
,case value2>
등은 가능한 값을 나타냅니다.expression>
.break>
문은 종료switch>
성명. 이것이 없으면 다음 케이스로 실행이 계속됩니다.Default>
일치하는 사례가 없을 경우 실행할 코드를 지정합니다.expression>
.
Switch 문이 작동하는 방식
- 평가 : 내부 표현
switch>
명령문은 한 번 평가됩니다. - 비교 : 표현식의 값을 각각 비교합니다.
case>
라벨(엄격한 평등 사용===>
). - 실행 : 일치하는 항목이 발견되면 일치하는 항목 뒤에 해당 코드 블록이 표시됩니다.
case>
라벨이 실행됩니다. 일치하는 항목이 없으면 실행이 다음으로 이동합니다.default>
케이스(존재하는 경우) 또는 케이스 이후의 다음 명령문으로 계속됩니다.switch>
차단하다. - Break 문 : 코드 블록을 실행한 후
break>
문은 종료switch>
문을 실행하여 후속 사례로 실행이 넘어가는 것을 방지합니다. 만약에break>
생략하면 다음 사례로 실행이 계속됩니다(폴스루(fall-through)라고 함). - 기본 케이스 :
default>
케이스는 선택 사항입니다. 일치하는 항목이 없으면 아래의 코드 블록default>
실행됩니다.
Switch 문의 흐름도
Switch 문 예:
여기서는 3일째의 요일 이름을 인쇄하겠습니다.
자바스크립트 let day = 3; let dayName; switch (day) { case 1: dayName = 'Monday'; break; case 2: dayName = 'Tuesday'; break; case 3: dayName = 'Wednesday'; break; case 4: dayName = 'Thursday'; break; case 5: dayName = 'Friday'; break; case 6: dayName = 'Saturday'; break; case 7: dayName = 'Sunday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Output: Wednesday>
산출
Wednesday>
설명:
Day>
로 설정되어 있습니다3>
.- 그만큼
switch>
명령문은 평가합니다day>
. - 부터
day>
~이다3>
,case 3>
블록이 실행되어 할당됩니다.'Wednesday'>
에게dayName>
. - 그만큼
break>
진술은 끝납니다switch>
문을 실행하여 다른 경우로 실행이 계속되는 것을 방지합니다.
Switch 문 예:
여기서는 스위치 케이스를 사용하여 등급을 확인하겠습니다.
자바스크립트 let grade = 'B'; let result; switch (grade) { case 'A': result = 'A (Excellent)'; break; case 'B': result = 'B (Average)'; break; case 'C': result = 'C (Below than average)'; break; default: result = 'No Grade'; } console.log(result);>
산출
B (Average)>
설명:
Grade>
값이 할당됩니다'B'>
.- 그만큼
switch>
문은 다음의 가치를 평가합니다.grade>
. - 부터
grade>
~이다'B'>
, 다음 코드 블록case 'B':>
실행됩니다. - 그만큼
result>
변수에 문자열이 할당됩니다'B (Average)'>
. - 그만큼
break>
문은 종료switch>
성명. result>
콘솔에 기록되어 출력됩니다.'B (Average)'>
.
브레이크 키워드
그만큼break>
키워드는 루프 실행을 종료하는 데 사용됩니다.switch>
성명.
기본 키워드
그만큼default>
키워드는switch>
다음 중 어느 것도 없을 때 대체 옵션으로 사용되는 문case>
표현식이 평가되는 값과 일치합니다. 이는 다음과 유사하게 작동합니다.else>
진술서if...else>
체인은 일치하는 다른 특정 사례가 없을 때 수행할 기본 작업을 제공합니다.
기본 사례의 위치는 중요하지 않습니다.
배치에 관계없이 기본 케이스는 다른 케이스 조건이 충족되지 않는 경우에만 실행됩니다. 따라서 시작, 중간 또는 끝에 배치해도 핵심 논리는 변경되지 않습니다(폴스루라는 덜 일반적인 기술을 사용하지 않는 한).
기본 케이스를 인쇄하겠습니다.
해시셋 자바자바스크립트
let day = 8; let dayName; switch (day) { default: dayName = 'Invalid day'; break; case 1: dayName = 'Monday'; break; case 2: dayName = 'Tuesday'; break; case 3: dayName = 'Wednesday'; break; case 4: dayName = 'Thursday'; break; case 5: dayName = 'Friday'; break; case 6: dayName = 'Saturday'; break; case 7: dayName = 'Sunday'; break; } console.log(dayName);>
산출
Invalid day>
공통 코드 블록
어떤 경우에는 여러 스위치 케이스에 동일한 코드를 사용해야 합니다. 이를 수행하는 방법의 예를 살펴보겠습니다.
공통 코드 블록 예:
여기서는 두 가지 다른 스위치 케이스에 대해 동일한 코드 블록을 사용합니다.
자바스크립트 let grade = 'A' let result; switch (grade) { case 'A': result = 'Grade is excellent' break; case 'B': result = 'Grade is good' break; case 'C': result = 'Grade is Average ' break; case 'D': result = 'Grade is Poor' break; default: text = 'NO grades achieved'; } console.log(result)>
산출
Grade is excellent>
설명:
Grade>
값이 할당됩니다'A'>
.- 그만큼
switch>
문은 다음의 가치를 평가합니다.grade>
. - 부터
grade>
성냥'A'>
, 다음 코드 블록case 'A':>
실행, 설정result>
에게'Grade is excellent'>
. - 그만큼
break>
문은 종료switch>
성명. Result>
콘솔에 기록되어 출력됩니다.'Grade is excellent'>
.
메모: 여러 개의 스위치 케이스가 값과 일치하면 첫 번째 스위치 케이스가 실행됩니다.