JavaScript Switch문에서 Break를 생략하면 어떻게 될까?
JavaScript에서 제어 흐름을 관리하는 방법 중 하나는 switch 문을 사용하는 것이다.
let fruit = "사과";
switch (fruit) {
case "사과":
console.log('사과입니다.');
// break;
case "바나나":
console.log('바나나입니다.');
// break;
case "키위":
console.log('키위입니다.');
// break;
default:
console.log('아무것도 아닙니다.');
}
위 코드에서는 변수 fruit가 "사과"로 설정되어 있다.그런데 여기서 각각의 case 뒤에 있는 break;가 주석처리 되어 있다. 이 경우, JavaScript는 'fall-through'라는 동작을 보여준다.
사과입니다.
바나나입니다.
키위입니다.
아무것도 아닙니다.
즉, 일치하는 첫 번째 case인 '사과'를 찾은 후, 그 다음의 모든 case들도 순차적으로 실행된다.
결론
이렇게 break문이 없으면 의도하지 않은 동작이 발생할 수 있으므로, 각 case 블록마다 꼭 break;를 포함시켜야 한다. 하지만 특정한 상황에서 의도적으로 fall-through를 사용하기도 한다고 한다. 예를 들어, 여러 case가 같은 동작을 공유해야 하는 경우 등에 유용할 수 있다.