[JS] 조건문 업그레이드

n-u·2022년 6월 15일
0

TIL

목록 보기
4/24
post-thumbnail

조건문 업그레이드

1. inclues메서드를 이용한 업그레이드

입력한 파라미터가 한식인지 아닌지 구별하는 프로그램을 조건식을 이용해 만들어보자

// 조건문 업그레이드
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);

2. 객체 괄호표기법을 이용한 업그레이드

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(""));

객체 안에 데이터를 담아두고, 객체의 괄호 표기법을 이용해 원하는 값을 얻는 방법으로 코드를 수정할 수 있다.

profile
기록하며 발전하는 삶

0개의 댓글