1 min to read
스위치(switch)
스위치 문
JS의 스위치문은 특정 표현식의 값을 기반으로 프로그램 흐름을 제어함. 여러 분기 및 케이스를 처리할 수 있으므로 if-else 문의 긴 체인 대안으로 사용됨.
스위치문의 3가지 스텝:
- Evaluation : 스위치 표현식은 한 번 평가됨.
- Comparison : 표현식 값은 각 케이스 값과 비교됨.
- Execution : 일치 항목이 있으면 관련 코드블록이 실행됨.
키워드 ‘switch’, 평가할 표현식 괄호 ‘()’, 케이스 및 코드블록의 ‘{}’ 가 포함됨.
switch(expression){
case value1:
// code to be executed if expression equals value1
break;
case value2:
// code to be executed if expression equals value2
break;
case value3:
// code to be executed if expression doesn't match with any cases
}
case 키워드는 가장 앞에 오고 break 키워드는 각 케이스와 연관된 코드블록 뒤에 옴. break 키워드는 일치 항목 발견시 스위치 문이 추가 케이스를 확인하는 것을 중지시키므로 중요함.
일치하는 케이스가 없으면 default 케이스가 실행됨. 선택사항이지만 예상치 못한 경우를 대비하기 위해 포함하는 것이 추천됨.
var fruit = 'banana';
swtich(fruit){
case 'apple':
console.log('Apple is good for health.');
break;
case 'banana':
console.log('I like bananas.');
break;
case 'mango':
console.log('Mangoes are delicious.');
break;
default:
console.log("Unknown fruit.');
}
변수 fruit 값은 banana 이기에 스위치 문 실행시 바나나 케이스를 찾을때까지 확인하고, 코드 블록을 실행함. fruit가 지정되지 않은 다른 것의 경우 default 케이스가 실행 ‘Unknown fruit’가 출력됨.
스위치 문은 단일 표현식을 여러 개별 값과 비교할 때 가장 잘 작동함. 스코프 또는 동등성 검사가 아닌 조건(>,<) 을 처리할때 if-else 문이 더 나은 옵션일 수 있음.