728x90
반응형
언제 사용할까?
- 논리적 참, 거짓(Boolean 값) 보다는 다양한 상황에 따라 실행할 코드 블록을 결정할 때 사용한다.
기본 구조
switch(조건식) {
case 비교조건식1:
동작문1;
break;
case 비교조건식2:
동작문2;
break;
default:
동작문3;
}
- 만약 일치하는 case 값이 없다면, 마지막 default로 선언된 명령문이 실행된다.
728x90
동작 방식
- 조건식과 비교조건식이 같으면 동작문을 실행한다.
switch (조건식) {
case 비교조건식:
동작문;
break;
}
- 보통 조건식에 변수 넣고, 비교 조건식에는 변수와 비교할 값을 넣는다.
let value = 'A';
switch (value) {
case 'A':
console.log('A');
}
- if문의 else 처럼 사용 가능하다.(default)
- default의 위치가 맨 처음이여도 문제없이 작동한다.
let value = 'F';
switch (value) {
default:
console.log('뭘까요');
break;
case 'A':
console.log('A');
break;
}
// 뭘까요
- if문의 else if 처럼 사용 가능하다.(case 여러 번 사용하기)
let value = 'B';
switch (value) {
case 'A':
console.log('A');
case 'B':
console.log('B');
case 'C':
console.log('C');
}
// B
// C
이 때, case 'B': 만 실행된다고 생각할 수 있으나 그 밑에까지 전부 다 실행된다.
그래서 case 'B': 만 실행하고 싶다면 break 문을 사용해야 한다.
let value = 'B';
switch (value) {
case 'A':
console.log('A');
case 'B':
console.log('B');
break;
case 'C':
console.log('C');
break;
}
// B
반응형
예제
- if else 문을 switch 문으로 바꿔보기
function A(name) {
if (name === "heeju") {
return "heejuKo";
} else if (name === "juhee") {
return "juheeKo";
} else {
return false;
}
function B(name) {
switch(name) {
case "heeju":
return "heejuKo";
case "juhee":
return "juheeKo";
default:
return false;
}
}
이 때, A 함수와 B 함수의 결과는 같다.
728x90
반응형
'JavaScript' 카테고리의 다른 글
자바스크립트 Promise 이해해보자! (0) | 2023.02.15 |
---|---|
[자바스크립트] filter는 빈 값("", null, undefined)을 자동으로 제거해준다. (0) | 2023.02.08 |
협업을 위한 .prettierrc 파일 만들기 (0) | 2023.02.06 |
[자바스크립트-배열] 모든 값을 0으로 가지는 배열 만들기 (0) | 2023.02.03 |
[자바스크립트] 재귀함수와 스택 프레임(Stack Frame) (0) | 2023.02.03 |
댓글