IF문과 SWITCH문 비교하기
- If 조건문은 논리적 Boolean(1과 0) 즉, 참과 거짓이란 결과값으로 실행할 코드를 결정한다.
- Switch 조건문은 Boolean 값보다는 문자열 혹은 숫자 값을 도출할 때 주로 사용한다.
SWITCH문의 장점?
- switch 조건문은 if문과 비교했을때 상대적으로 간결하고 가독성이 높다는 장점이 있다.
SWITCH문의 단점?
- switch()의 괄호 안에는 다양한 형식의 데이터(변수, 상수, 비교연산자 등)가 올 수 있지만, case 뒤에 올 수 있는 데이터는 상수만이 가능하다.
상수
(Constant)란? 간단하게 상수는 변수의 반댓말이다. 常(항상 상) 즉, 항상 변하지 않고 고정된 값을 담을 때 사용한다. 따라서 const = 상수명;
는 상수 선언, let = 변수명;
은 변수 선언이다.
IF 조건문 형태 예시
let user = 'admin';
if (user === 'admin') {
return '관리자';
} else if (user === 'seller') {
return '판매자';
} else if (user === 'buyer') {
return '구매자';
} else {
return '일반회원';
}
SWITCH 조건문 형태 예시
let user = "admin";
switch (user) {
case "admin":
return "관리자";
break;
case "seller":
return "판매자";
break;
case "buyer":
return "구매자";
break;
default: return "일반회원";
}
SWITCH 조건문의 'default'는 어떤 역할을 할까?
default
는 말그대로 기본값으로, if문에서의 else과 비슷한 역할을 수행할 수 있다.
function caseInSwitch(user) {
switch (user) {
case "admin":
console.log("관리자");
break;
case "seller":
console.log("판매자");
break;
case "buyer":
console.log("구매자");
break;
default:
console.log("일반회원");
}
}
caseInSwitch("");
caseInSwitch("seller");
function caseInSwitch(user) {
switch (user) {
case "admin":
console.log("관리자");
break;
case "seller":
console.log("판매자");
break;
case "buyer":
console.log("구매자");
break;
}
}
caseInSwitch("");
caseInSwitch("seller");
SWITCH의 'break'는 어떤 역할을 할까?
function caseInSwitch(user) {
switch (user) {
case "admin":
console.log("관리자");
case "seller":
console.log("판매자");
case "buyer":
console.log("구매자");
default:
console.log("일반회원");
}
}
caseInSwitch("seller");
function caseInSwitch(user) {
switch (user) {
case "admin":
console.log("관리자");
break;
case "seller":
console.log("판매자");
break;
case "buyer":
console.log("구매자");
break;
default:
console.log("일반회원");
}
}
caseInSwitch("seller");
SWITCH문 조건의 값이 여러 개인 경우
function caseInSwitch(value) {
switch (value) {
case 1:
case 2:
case 3:
console.log("LOW");
break;
case 4:
case 5:
case 6:
console.log("MIDDLE");
break;
case 7:
case 8:
case 9:
console.log("HIGH");
break;
}
}
caseInSwitch(1);
caseInSwitch(3);
caseInSwitch(5);
caseInSwitch(9);
IF문 축약하기
- 아래와 같이 if와 else로 구성된 조건문의 경우, else를 생략하고 써도 같은 역할을 한다.
if (user === 'admin') return '관리자';
return '일반회원';
- 아래와 같이 if, else if, else로 구성된 경우, if 2개로 축약 가능하다.
if (user === 'admin') return '관리자';
if (user === 'seller') return '판매자';
return '일반회원';