맛있는 음식을 반환하는 함수를 만들어보자.
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 |