모든 switch문은 if.. else 로 대체가 가능하다.
그럼에도 switch문을 사용하는 이유는 케이스가 다양할 경우 보다 간결하게 코드를 짤 수 있기 때문이다.
switch문
switch(평가) {
case A:
// A 일 때 코드
case B:
// B 일 때 코드
...
}
위의 switch문과 동일한 결과값이 나오게 만드는 if문을 살펴 보자.
if
if(평가 == A){
// A 일 때 코드
} else if(평가 == B){
// B 일 때 코드
}
🔍 예제를 통해 쉽게 이해하기
사용자에게 사고 싶은 과일을 물어보고 가격을 화면에 출력하세요.
< 🍎 과일 가격 >
apple : 100원
banana : 200원
tomato : 300원
grape : 400원
peach : 400원
let fruit = prompt('무슨 과일 사고 싶나요?');
switch(fruit){
case 'apple':
console.log('100원');
break;
case 'banana':
console.log('200원');
break;
case 'tomato':
console.log('300원');
break;
case 'grape' :
case 'peach' :
console.log('400원');
break;
default :
console.log('그런 과일은 없습니다.');
}
📝 풀이
switch
문은 break
문을 만나기 전에 계속 실행하기 때문에 case마다 break
를 입력해 줘야 한다.
입력한 과일 외 과일 이름을 넣는다면 '그런 과일은 없습니다.' 라고 메시지를 표시해 줄 수 있다.
if
문에서 else
를 사용했다면 swith
문에서는 default
를 넣어 주면 된다.
위의 예제에서 grape 와 peach 가격이 같다. 이 경우 각각 쓸 필요 없이 나란히 입력하고 안에 실행된 값을 한 번만 입력해 줘도 오류 없이 실행된다.