입력한 파라미터가 한식인지 아닌지 구별하는 프로그램을 조건식을 이용해 만들어보자
// 조건문 업그레이드
function isKoreanFood(food) {
if (food === "불고기" || food === "비빔밥" || food === "떡볶이") {
return true;
}
return false;
}
const food1 = isKoreanFood("불고기");
const food2 = isKoreanFood("파스타");
console.log(food1); //true
console.log(food2); //false
여기서 조건식이 너무 길고, 연산자를 중복으로 사용하고 있다.
이 프로그램을 배열에 담고 includes메서드를 이용해 작동하도록 수정한다.
function isKoreanFood(food) {
if (["불고기", "떡볶이", "비빔밥"].includes(food)) {
return true;
}
return false;
}
const food1 = isKoreanFood("불고기");
const food2 = isKoreanFood("파스타");
console.log(food1);
console.log(food2);
const getMeal = (mealType) => {
if (mealType === "한식") return "불고기";
if (mealType === "양식") return "파스타";
if (mealType === "중식") return "맴보샤";
if (mealType === "일식") return "초밥";
return "굶기";
};
console.log(getMeal("한식"));
console.log(getMeal("중식"));
여러가지 조건을 가지고 있는다면 if문을 여러개 쓸 수밖에 없다.
//여러가지 경우를 가지고 있을때 객체의 괄호 표기법을 이용할 수 있다.
const meal = {
한식: "불고기",
중식: "멘보샤",
일식: "초밥",
양식: "스테이크",
인도식: "카레"
};
const getMeal = (mealType) => {
return meal[mealType] || "굶기";
};
console.log(getMeal("한식"));
console.log(getMeal("중식"));
console.log(getMeal(""));
객체 안에 데이터를 담아두고, 객체의 괄호 표기법
을 이용해 원하는 값을 얻는 방법으로 코드를 수정할 수 있다.