조건식의 응용(모두 코드를 돌려 실행해보자)

응용1 (.includes())


다음 코드는 음식이 과일인지 아닌지를 판단하는 함수 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);

응용2 (객체 사용)


다음 코드는 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객체를 사용한다. 단락회로 평가를 이용하여 예외처리도 진행한다.