IT/Javascript
[Javascript] switch 조건문 사용법 및 활용 예제
hi.anna
2025. 2. 24. 09:56
switch 조건문 사용법 및 활용 예제
JavaScript에서 switch문은 주어진 표현식의 값에 따라 여러 경우(case) 중 하나를 선택하여 실행할 때 사용합니다.
if-else 문보다 가독성이 좋고, 여러 조건을 처리할 때 유용합니다.
기본 문법
switch (표현식) {
case 값1:
// 값1일 때 실행할 코드
break;
case 값2:
// 값2일 때 실행할 코드
break;
default:
// 모든 case가 해당하지 않을 때 실행할 코드
}
- 표현식의 결과와 case에 나열된 값들을 일치시켜 해당 블록을 실행합니다.
- break는 해당 블록을 실행한 후 switch문을 빠져나가도록 합니다.
- default는 모든 case가 일치하지 않을 때 실행됩니다. (else와 비슷한 역할)
예제 1: 간단한 switch문
let fruit = '사과';
switch (fruit) {
case '사과':
console.log('사과는 빨간색입니다.');
break;
case '바나나':
console.log('바나나는 노란색입니다.');
break;
case '포도':
console.log('포도는 보라색입니다.');
break;
default:
console.log('해당 과일 정보가 없습니다.');
}
결과
사과는 빨간색입니다.
- fruit 값이 '사과'이므로 첫 번째 case가 실행되고, break가 있어서 switch문을 빠져나갑니다.
예제 2: default 사용
let day = 3;
switch (day) {
case 1:
console.log('월요일');
break;
case 2:
console.log('화요일');
break;
case 3:
console.log('수요일');
break;
case 4:
console.log('목요일');
break;
case 5:
console.log('금요일');
break;
default:
console.log('주말입니다.');
}
결과
수요일
- day가 3이므로 case 3이 실행되고, break가 있어서 끝납니다.
- default는 case에 해당하지 않는 값일 때 실행됩니다.
예제 3: break가 없는 경우 (Fall-through)
break를 생략하면 다음 case도 계속 실행됩니다. 이를 Fall-through라고 합니다.
let score = 'B';
switch (score) {
case 'A':
console.log('훌륭합니다.');
case 'B':
console.log('잘했어요.');
case 'C':
console.log('괜찮습니다.');
default:
console.log('다음에 더 잘하세요.');
}
결과
잘했어요.
괜찮습니다.
다음에 더 잘하세요
- score가 'B'이므로 case 'B'부터 실행됩니다.
- break가 없어서 case 'C'와 default까지 연속으로 실행됩니다.
예제 4: 여러 case를 묶어서 사용
여러 값에 대해 동일한 코드를 실행하고 싶을 때 case를 묶을 수 있습니다.
let color = '빨강';
switch (color) {
case '빨강':
case '주황':
case '노랑':
console.log('따뜻한 색상입니다.');
break;
case '초록':
case '파랑':
case '보라':
console.log('차가운 색상입니다.');
break;
default:
console.log('알 수 없는 색상입니다.');
}
결과
따뜻한 색상입니다.
- color가 '빨강'이므로 case '빨강'에 해당합니다.
- case '빨강' 이후 break를 만나기 전까지 모든 코드가 실행되므로 '따뜻한 색상입니다.'가 출력됩니다.
예제 5: 표현식 사용하기
switch문은 정수뿐만 아니라 문자열, 표현식, boolean 등 여러 타입을 사용할 수 있습니다.
let age = 25;
switch (true) {
case age < 10:
console.log('어린이입니다.');
break;
case age < 20:
console.log('청소년입니다.');
break;
case age < 30:
console.log('청년입니다.');
break;
default:
console.log('성인입니다.');
}
결과
청년입니다.
- switch (true)에서 true와 각 case의 조건을 비교합니다.
- age < 30이 true이므로 '청년입니다.'가 출력됩니다.
예제 6: 타입이 다른 경우
switch문은 '엄격한 일치(===)'를 사용합니다.
타입이 다른 경우('1' vs 1) 일치하지 않으므로 주의해야 합니다.
let value = '1';
switch (value) {
case 1:
console.log('숫자 1입니다.');
break;
case '1':
console.log('문자열 1입니다.');
break;
}
결과
문자열 1입니다.
- 타입까지 일치해야 하므로, '1'과 1은 다른 값으로 처리됩니다.
정리
- switch문은 값이 일치하는 경우를 찾을 때 사용합니다.
- break로 switch문을 빠져나가야 합니다. (break가 없으면 다음 case도 실행됨)
- default는 모든 case에 해당하지 않을 때 실행됩니다.
- 여러 case를 묶거나 표현식을 사용할 수 있습니다.
- switch문은 엄격한 일치(===)를 사용합니다.
반응형