ECMAScript switch 문

switch 문

switch 문은 if 문의 형제 문입니다

개발자는 switch 문을 통해 표현식에 여러 가지 경우(case)를 제공할 수 있습니다

switch 문의 문법:

switch (expression)
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
  case value: statement;
    break;
...
  case value: statement;
    break;
  default: statement;

각 경우(case)는 "만약"을 나타냅니다 expression 와 같이 value,이를 통해 statement

break 키워드는 코드가 switch 문에서 벗어나도록 합니다. break 키워드가 없으면 코드는 다음 case로 이동하여 계속 실행됩니다.

default 키워드는 표현식의 결과가 어떤 경우에도 일치하지 않을 때의 작업을 설명합니다(실제로는 else 문과 동일합니다).

switch 문은 개발자가 다음과 같은 코드를 작성하지 않도록 도와줍니다:

if (i == 20)
  alert("20");
else if (i == 30)
  alert("30");
else if (i == 40)
  alert("40");
else
  alert("other");

상응하는 switch 문은 다음과 같습니다:

switch (i) {
  case 20: alert("20");
    break;
  case 30: alert("30");
    break;
  case 40: alert("40");
    break;
  default: alert("other");
}

ECMAScript와 Java의 switch 문

ECMAScript와 Java의 switch 문은 두 가지 차이점이 있습니다. ECMAScript에서 switch 문은 문자열을 사용할 수 있으며, 상수가 아닌 값으로 경우를 설명할 수 있습니다:

var BLUE = "blue", RED = "red", GREEN = "green";
switch (sColor) {
  case BLUE: alert("Blue");
    break;
  case RED: alert("Red");
    break;
  case GREEN: alert("Green");
    break;
  default: alert("Other");
}

여기서 switch 문은 문자열 sColor를 사용하여, case는 변수 BLUE, RED, GREEN을 사용하여 선언되며, 이는 ECMAScript에서 완전히 유효합니다.