본문 바로가기
JS/JavaScript 강의

13. Switch 문

by 박기린 2022. 10. 3.

안녕하세요 박기린입니다.

 

 

Switch Statement

Switch문은 해당 데이터가 어떤 case에 부합하는지에 따라, 그 구문의 ':' 이후에 나오는 코드를 실행합니다. 조건문의 일종으로 if문의 대용으로 사용할 수 있습니다.

 

const day = 'monday';

switch(day) {
    case 'monday': // day === 'monday'
        console.log('Plan course structure');
        console.log('Go to coding meetup');
        break;
    case 'tuesday':
        console.log('Prepare theory videos');
        break;
    case 'wednesday':
    case 'thursday':
        console.log('Write code example');
        break;
    case 'friday' :
        console.log('Record videos');
        break;
    case 'saturday' :
    case 'sunday' :
        console.log('Enjoy the weekend :D');
        break;
    default:
        console.log('Not a valid day!');
}

 

- ' case 값(데이터) : ' 구조 이후에는 {closure}로 묶는 거 없이 여러 줄의 코드를 작성할 수 있습니다.

- break 키워드가 없으면, 그 다음 case의 구문들까지 같이 실행합니다. 즉, 한 번 case에 진입하면 break가 나올 때까지 계속 다음 코드를 실행합니다.

- 비교값이 모든 케이스에 부합하지 않는 경우를 위해 default를 추가합니다.

- Switch문에서 (괄호)안의 값을 각 case와 비교할 때는 strict comparsion(===)을 사용합니다.

 

 

위의 예제 Switch문을 if문으로 변환한다면,

if (day === 'monday') {
    console.log('Plan course structure');
    console.log('Go to coding meetup');
} else if (day === 'tuesday') {
    console.log('Prepare theory videos');
} else if (day === 'thrusday' || day === 'wednesday') {
    console.log('Write code example');
} else if (day === 'friday') {
    console.log('Record videos');
} else if (day === 'saturday' || day === 'sunday') {
    console.log('Enjoy the weekend :D');
} else {
    console.log('Not a valid day!');
}

이렇게 됩니다.

반응형