JavaScript Switch 문
switch
다른 조건에 따라 다른 작업을 수행하는 문장.
JavaScript Switch 문
사용하세요 switch
여러 가지 실행할 수 있는 코드 블록 중 하나를 선택하기 위해 사용하는 문장.
문법
switch(표현식) { case n: 코드 블록 break; case n: 코드 블록 break; default: default 코드 블록 }
코드 설명:
- switch 표현식을 한 번 계산합니다
- 표현식의 값은 각 케이스의 값과 비교됩니다
- 일치가 있으면 관련 코드를 실행합니다
예제
getDay() 메서드는 0에서 6 사이의 주 이름 숫자(weekday number)를 반환합니다。
(Sunday=0, Monday=1, Tuesday=2 ..)
이 예제는 주 이름의 숫자를 사용하여 주 이름을 계산합니다:
switch (new Date().getDay()) { case 0: day = "일요일"; break; case 1: day = "월요일"; break; case 2: day = "화요일"; break; case 3: day = "화요일"; break; case 4: day = "수요일"; break; case 5: day = "금요일"; break; case 6: day = "토요일"; }
결과는:
break 키워드를 만나면
JavaScript가 break
키워드는 switch 코드 블록을 탈출하는 데 사용됩니다。
이动作은 코드 블록에서 더 이상의 코드 실행 및 케이스 테스트를 중단합니다.
일치를 찾고 작업을 완료하면 실행을 무작위로 중단합니다(break). 더 이상 테스트가 필요하지 않습니다.
break
그것은 switch 코드 블록의 다른 코드 실행을 "무시"하여 많은 실행 시간을 절약할 수 있습니다.
switch 코드 블록의 마지막 case를 중단하지 않아도 됩니다. 코드 블록은 자연스럽게 끝납니다.
default 키워드
default
키워드는 케이스가 일치하지 않을 때 실행되는 코드를 정의합니다:
예제
getDay()
메서드는 0에서 6 사이의 숫자를 반환합니다。
오늘이 토요일(6)도 아니고 일요일(0)도 아니라면 기본 메시지를 출력합니다:
switch (new Date().getDay()) { case 6: text = "오늘은 토요일"; break; case 0: text = "오늘은 일요일"; break; default: text = "맞춤형 토요일~"; }
text의 결과는:
default의 case는 switch 코드 블록의 마지막 case가 아니어도 됩니다:
예제
switch (new Date().getDay()) { default: text = "맞춤형 토요일!"; break; case 6: text = "오늘은 토요일"; break; case 0: text = "오늘은 일요일"; }
만약 default
switch 코드 블록의 마지막 case가 아니라도 기억해야 할 것은 default case를 끝내는 break을 사용하는 것입니다。
일반 코드 블록
때때로 같은 코드를 사용하기 위해 다른 case가 필요할 수 있습니다。
이 예제에서 case 4와 5는 같은 코드 블록을 공유하며 0과 6은 다른 코드 블록을 공유합니다:
예제
switch (new Date().getDay()) { case 4: case 5: text = "맞춤형 토요일이 가까워지고 있습니다:)"; break; case 0: case 6: text = "오늘은 토요일~"; break; default: text = "맞춤형 토요일!"; }
Switching의 세부 사항
여러 case가 동일한 case 값과 일치하면 첫 번째 case를 선택합니다.
일치하는 case를 찾지 못하면 프로그램은 기본 레이블을 사용합니다.
기본 레이블을 찾지 못하면 프로그램은 switch 다음의 문을 계속 수행합니다.
정확한 비교
Switch case는 정확한 비교를 사용합니다(===
)。
값은 일치하는 타입과 같아야 합니다.
정확한 비교는 연산자가 동일한 유형의操作수에만 가능합니다.
이 예제에서 x는 일치하지 않습니다:
예제
var x = "0"; switch (x) { case 0: text = "Off"; break; case 1: text = "On"; break; default: text = "No value found"; }
학습서
추가 정보를 원하시면 JavaScript Switch 문추가 정보를 원하시면 JavaScript 고급 강의에서 관련 내용을 읽어보세요:
- ECMAScript switch 문
- switch 문은 if 문의 형제 문입니다. 이 장에서 switch 문의 사용법과 Java의 switch 문과의 차이점을 설명합니다.