특정 값의 조건을 비교할 때 사용한다
기본형태
switch (자료) {
case 조건A:
break
case 조건B:
break
default: // default 키워드 생략가능
break
}
const input = Number(prompt('숫자를 입력하세요.', '숫자'))
switch (input % 2) {
case 0: // input % 2 == 0
alert('짝수입니다.')
break
case 1: // input % 2 == 1
alert('홀수입니다.')
default:
alert('숫자가 아닙니다.')
break
}
실행결과 1
숫자를 입력하세요.
입력> 2Enter
짝수입니다
실행결과 2
숫자를 입력하세요.
입력> 81Enter
홀수입니다
switch 조건문이나 반복문을 빠져나가기 위해 사용하는 키워드
코드를 읽다가 break
키워드를 만나면 break
키워드를 감싼 switch 조건문이나 반복문을 완전히 빠져나간다
switch 조건문 괄호
안 → 비교할 값 입력
입력한 값을 기준으로 특정 코드를 실행한다
만약 입력한 표현식
= case 키워드 옆의 표현식
→ case 키워드 바로 다음에 오는 문장실행
중괄호는 사용하지 않아도 된다
switch 조건문 → if 조건문으로 변환
모든 switch 조건문은 if 조건문으로 변환이 가능하지만
범위를 조건으로 가지는 if 조건문을 switch 조건문으로 대체하는 것은 어렵다
잘 사용하지 않지만 코드 분석용으로 참고하자
const date = new.Date()
const hour = new.getHours()
switch (true) {
case hour < 11:
// 표현식 hour < 11 참일 때 실행
alert('아침 먹을 시간입니다')
break
case hour < 15:
// 표현식 hour < 11 거짓 & 표현식 hour < 15 참일 때 실행
alert('점심 먹을 시간입니다')
break
default:
// 위의 모든 표현식이 거짓일 때 실행
alert('저녁 먹을 시간입니다')
break
}