JavaScript switch-case 구문에서 break의 선택적 사용

switch-case 구문에서 break 명령어는 필수가 아닙니다. break가 없으면, 의도한 case가 실행된 후에 그 아래에 있는 모든 case들도 실행됩니다.

예제를 통해 살펴보겠습니다:

javascriptlet num = 1; // 여기에 숫자 1이 있다고 가정

switch (num) {
  case 1:
    console.log(1); // 이것이 실행됨
  case 2:
    console.log(2); // 이것도 실행됨
  case 3:
    console.log(3); // 이것도 실행됨
}

변수 값을 변경해 보겠습니다:

javascriptlet num = 2; // 여기에 숫자 2가 있다고 가정

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2); // 이것이 실행됨
  case 3:
    console.log(3); // 이것도 실행됨
}

변수 값을 다시 변경해 보겠습니다:

javascriptlet num = 3; // 여기에 숫자 3이 있다고 가정

switch (num) {
  case 1:
    console.log(1);
  case 2:
    console.log(2);
  case 3:
    console.log(3); // 이것이 실행됨
}

이러한 특성을 문제 해결에 활용하는 경우도 있습니다. 다음 예제를 보세요:

javascriptlet num = 1;
let res;

switch (num) {
  case 1:
  case 2:
    res = 'a';
  break;
  case 3:
    res = 'b';
  break;
}

console.log(res);

그러나, 이런 문제는 if를 사용하여 해결하는 것이 더 명확합니다:

javascriptlet num = 1;
let res;

if (num == 1 || num == 2) {
  res = 'a';
}

if (num == 3) {
  res = 'b';
}

console.log(res);