두개 이상의 가능한 결과를 허용하고자 할 때 사용한다. 여러번 사용 가능.
if
뒤에, else
앞에 위치한다. ()
에 조건문을 갖는다.
let season = 'summer';
if (season === 'spring') {
console.log('It\'s spring! The trees are budding!');
} else if (season === 'winter') {
console.log('It\'s winter! Everything is covered in snow.')
} else if (season === 'fall') {
console.log('It\'s fall! Leaves are falling!')
} else if (season === 'summer') {
console.log('It\'s sunny and warm because it\'s summer!')
} else {
console.log('Invalid season.');
};
만약 수많은 if, else if 구문을 써야한다면
let groceryItem = 'papaya';
switch (groceryItem) {
case 'tomato':
console.log('Tomatoes are $0.49');
break;
case 'lime': // 묶어서 출력 가능
case 'papaya':
console.log('it is $1.49');
break;
default:
console.log('Invalid item');
break;
}
// Prints 'Papayas are $1.29'
위 코드에서
switch
키워드로 구문을 시작하고 뒤에 (...)
안에 앞으로 각각의 case
가 비교할 값을 넣는다.
{ ... }
블록 안에는 다양한 케이스들이 있다. 케이스 키워드는 그 표현이 뒤쪽에 명시된 값과 일치하는지 체크한다.
break
키워드는 블록을 나가서 더이상 코드 실행하지 않도록(다른 케이스를 체크하지 않도록) 명령한다.
Note: break 키워드를 쓰지 않으면 가장 첫번째로 매치된 케이스가 작동할 것이다. 그리고 기본 검색어를 포함하여 일치 여부에 관계없이 모든 후속 사례가 실행된다. if/else 조건문은 오직 코드의 한블록만 실행한다는 점과 차이가 있다.
스위치 구문 끝에는 default
구문이 있다. 만약 어느 케이스도 true가 아니라면 디폴트 안의 코드가 실행된다.