English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript 기본 강의

JavaScript 객체

JavaScript 함수

JS HTML DOM

JS 브라우저 BOM

AJAX 기본 강의

JavaScript 참조 매뉴얼

JavaScript switch 문

switch는 if ... else ...와 같은 조건 문입니다. 다른 점은 switch 문이 변수가 값 목록과 일치하는지 테스트할 수 있음입니다.

switch를 사용하여 실행할 수 있는 많은 코드 블록 중 하나를 선택합니다. 이는 중첩된 if…else 문의 완벽한 해결책입니다.

하나의 switch 문은 다음과 같습니다:

switch (expression) {
  case value1:  
    //문장이 실행됩니다
    //표현식의 결과는 value와 일치합니다1일치
  break;
  case value2:  
    //문장이 실행됩니다
    //표현식의 결과는 value와 일치합니다2일치
  break;
  ...
  case valueN:  
    //문장이 실행됩니다
    //표현식의 결과는 value N과 일치합니다
  break;
  default:
   //위의 아무 것도 실행되지 않을 때
   //여기의 코드 블록을 실행합니다
 }

위 코드 블록의 논리에 따라 이는 일어날 예정인 이벤트의 순서입니다:

  • switch 표현식은 한 번에 계산됩니다

  • 표현식의 값과 각 경우의 값을 비교합니다

  • 일치하면 관련 코드 블록을 실행합니다

  • 모든 경우가 일치하지 않으면 기본 코드 블록을 실행합니다

다음 예제는 업무일 번호를 사용하여 요일을 계산합니다:

var day;
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;
default: 
 day = "Undefined Day";
}
테스트해보세요‹/›

break 키워드

break와 각 case 태그를 연결하는 키워드는 일치하는 명령어가 실행되면 프로그램이 터치를 나가고, 터치 이후의 명령어에서 계속 실행됩니다. break를 제외하면 프로그램은 switch 문의 다음 명령어에서 계속 실행됩니다。

휴식을 잊어버리면, 스크립트는 조건을 만족하는 상황에서 시작하여 조건을 만족하는 상황에서 실행됩니다:

var num = Number(document.querySelector("input").value);
var text;
switch(num) {
   case 1: 
    text = "입력한 번호는" 1";
   case 2: 
    text = "입력한 번호는" 2";
   case 3: 
    text = "입력한 번호는" 3";
   case 4: 
    text = "입력한 번호는" 4";
   case 5: 
    text = "입력한 번호는" 5";
   default: 
    text = "기본 문장 실행";
}
테스트해보세요‹/›

switch 블록의 마지막 경우(default)를 중단할 필요가 없습니다. 왜냐하면 문장 블록이 여기서 끝나기 때문입니다.

default 키워드

case와 일치하지 않으면 default 키워드가 실행할 코드를 지정합니다.

switch에서는 하나의 기본 문장만 있을 수 있습니다. 기본적으로 선택할 수 있지만, 예상치 못한 상황을 처리할 수 있기 때문에 권장됩니다.

여러 상황

때로는 다른 상황에 대해 동일한 코드를 사용하거나 일반 코드를 사용하고 싶을 수 있습니다.

이는 네 가지 다른 값이 완전히 동일한 작업을 수행하는 switch 문장의 순서를 변경하는 예제입니다:

var num = Number(document.querySelector("input").value);
var text;
switch(num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "입력한 숫자는 두 번째 값 사이에 있습니다" 1 - 4";
  break;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "입력한 숫자는 두 번째 값 사이에 있습니다" 5 - 8";
  break; 
   default: text = "기본 문장 실행";
}
테스트해보세요‹/›

여러 개의 case가 값과 일치하면 첫 번째 case를 선택합니다。

일치하는 case를 찾지 못하면 프로그램이 기본 태그를 사용하여 계속 실행됩니다。

기본 태그를 찾지 못하면 프로그램이 다음 문장으로 이동하여 계속 실행됩니다。