조건식의 응용(모두 코드를 돌려 실행해보자)
다음 코드는 음식이 과일인지 아닌지를 판단하는 함수 isFruit()
를 사용하였다.
function isFruit(food) {
if (food === "사과" || food === "딸기" || food === "포도" || food === "배") {
return true;
} else {
return false;
}
}
const food1 = isFruit("사과");
const food2 = isFruit("수박");
console.log(food1);
console.log(food2);
여기서 조건문을 ||으로 계속 사용하였는데, 이를 다음과 같이 변경하면 더 보기 좋은 코드를 짤 수 있다.
function isFruit(food) {
if (["사과", "딸기", "포도", "배"].includes(food)) {
return true;
} else {
return false;
}
}
const food1 = isFruit("사과");
const food2 = isFruit("수박");
console.log(food1);
console.log(food2);
다음 코드는 getMeal()
을 이용하여 mealType
에 맞는 음식을 추천해준다.
const getMeal = (mealType) => {
if (mealType === "한식") return "칼국수";
if (mealType === "양식") return "파스타";
if (mealType === "일식") return "초밥";
return "굶는다";
};
console.log(getMeal("한식"));
console.log(getMeal("일식"));
console.log(getMeal());
매 조건이 늘어날때마다 if코드가 한 줄씩 추가될 모양새이다. 다음과 같이 바꿔보자.
const meal = {
한식: "칼국수",
양식: "파스타",
일식: "초밥"
};
const getMeal = (mealType) => {
return meal[mealType] || "굶는다";
};
console.log(getMeal("한식"));
console.log(getMeal("일식"));
console.log(getMeal());
meal 객체 리터럴을 추가한 뒤, index를 이용하여 getMeal
함수에서 meal객체를 사용한다. 단락회로 평가를 이용하여 예외처리도 진행한다.