반응형
switch
- 특정 변수나 상수 또는 반환값에 따라 작업을 실행
- 하나의 값이 여러 경우 중 어디에 해당하는 지 찾을 때 유용
switch (표현식) {
case value1:
// value1일 때 실행
break;
case value2:
// value2일 때 실행
break;
default:
// 어떤 case와도 일치하지 않을 때 실행
}
- expression의 결과와 case의 값을 **===(엄격 비교)**로 비교함.
- 일치하면 해당 case의 코드를 실행하고 break를 만나면 빠져나감.
- break가 없으면 다음 case로 계속 넘어감(이걸 "fall-through"라고 부름).
- 어느 case에도 일치하지 않으면 default 실행.
표현식 안에 설정 가능한 값
- 값을 도출할 수 있는 어떤 표현이든 가능
| 구분 | 설명 |
| 변수 | let x = 1; switch(x) 처럼 변수 자체 |
| 숫자 계산식 | switch(a + b) |
| 문자열 | switch(name) |
| 함수 호출 결과 | switch(getStatus()) |
| 불(boolean) 값 | switch(true) (특수 패턴에서 씀) |
| 객체 프로퍼티 | switch(obj.type) |
let fruit = "apple";
switch (fruit) {
case "banana":
console.log("바나나입니다.");
break;
case "apple":
console.log("사과입니다.");
break;
default:
console.log("알 수 없는 과일입니다.");
}
const solution = (price) =>{
let answer =0;
switch(true) {
case (price>=500000) : answer = price*.8;
break
case(price>=300000) : answer = price*.2;
break
case(price>=100000) : answer= price*.95;
break;
default:
answer = price
}
return Math.floor(answer)
}반응형
'JS > Javascript' 카테고리의 다른 글
| [javascript] 요소 선택 메서드 (getEementById, getElementsByClassName, queryselector ...) (1) | 2025.07.08 |
|---|---|
| [javascript] DOM, 파싱, 노드 (0) | 2025.07.08 |
| Framework(프레임워크), Library(라이브러리) (0) | 2025.06.27 |
| [Javascript] 배열 메서드 (0) | 2024.07.09 |
| [Javascript] 디스트럭처링 (Destructuring) (1) | 2024.07.05 |