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 문과의 차이점을 설명합니다.