맛있는 음식을 반환하는 함수를 만들어보자.

    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

지금은 음식이 3가지밖에 들어가기않았지만 

음식의 갯수가 더 많아진다면, 가독성이 떨어질것이다.

이런상황에서는 swich문도 비슷하다.

 

이럴땐, 문자열로 이루어진 한식들중에 입력받은 파라미터가 존재하는지 안하는지를

판별해주면 되는 것이다.

    function isKoreanFood(food) {
      if (['불고기', "잡채", "떡갈비"].includes(food)) {
        return true;
      }
      return false;
    }
    const food1 = isKoreanFood("불고기");
    console.log(food1);

includes를 활용하면 쉽게 코드를 축약 시킬 수 있다.

 

이번엔 음식 종류에따라 유형을 반환하는 getMeal 함수를 만들었다.

   const getMeal = (mealType) => {
      if (mealType === "한식") return "불고기";
      if (mealType === "양식") return "파스타";
      if (mealType === "중식") return "멘보샤";
      if (mealType === "일식") return "초밥";
      return "굶기";
    }

    console.log(getMeal("한식"));
    console.log(getMeal("중식"));
    console.log(getMeal());

더 많은 국가를 추가하다보면 코드도 길어지고 가독성도 떨어지게된다.

그럴땐?

   const meal = {
      한식: "불고기",
      중식: "멘보샤",
      일식: "초밥",
      양식: "스테이크",
      인도식: "카레"
    };
    const getMeal = (meatType) => {
      return meal[mealType] || "굶기";
    };

    console.log(getMeal("한식")) //한식
    console.log(getMeal()) //굶기

 

 

객체프로퍼티에 접근하는 괄호표기법을 활용하면 해결할 수 있다.

getMeal을 호출할때 mealType에 '한식' 이라는 값을 전달했기때문에

meal이라는 객체에서 '한식' key 값을 가져오게 되는 것이다.

 

이렇게 많은 유형을 객체안에 담고, 대표적으로 어떤 하나를 리턴해야할때
객체의 괄호 표기법을 통해서 효율적으로 해결 할 수 있다.

'개발이야기 > JS' 카테고리의 다른 글

[JS] Spread 연산자  (0) 2022.06.28
[JS] 비 구조화 할당(구조분해 할당)  (0) 2022.06.28
[JS] 단락회로 평가  (0) 2022.06.28
[JS] 삼항연산자  (0) 2022.06.28
[JS] 배열  (0) 2022.06.28
복사했습니다!