less than 1 minute read

조건문 더 스마트하게 쓰기

특정 값이 여러 값 중 하나인지 확인할 경우

  1. 여러 값을 배열에 넣고
  2. 배열.includes 함수로 포함되어 있는지 확인하기
function isAnimal(text){
    const animals = ['고양이','멍멍이','거북이','너구리'];
    return animals.includes(text);
}
console.log(isAnimal('고양이'));
console.log(isAnimal('멍멍이'));

-화살표 함수 이용

const isAnimal=(text)=>(['고양이','멍멍이','거북이','너구리'].includes(text));
console.log(isAnimal('고양이'));
console.log(isAnimal('멍멍이'));

⚠️ 코드가 간결하면서도 어떤 역할을 하는지 알 수 있어야 좋은 코드!

특정 값에 따라 다른 결과를 반환하는 경우

  1. 객체를 이용하여 값에 따른 결과를 key-value로 묶어주기
  2. 객체의 매개변수에 따른 동작 구현시키기 객체[매개변수]
function getSound(animal){
    const pairs={
        '':'멍멍!',
        '고양이':'야옹!',
        '참새':'짹짹!',
        '비둘기':'구구구'
    };
   const task=tasks[animal];
    if(!task){
        console.log('...?');
        return;
    }
    task();
}

console.log(getSound(''));//멍멍!
console.log(getSound('고양이'));//야옹!
console.log(getSound('참새'));//짹짹!
console.log(getSound('비둘기'));//구구
console.log(getSound('노트북'));//...?

특정 값에 따른 코드 실행

  1. 객체를 이용하여 값에 따른 함수를 key-value로 묶어주기
  2. 단축 평가 논리 계산법을 이용
function makeSound(animal){
    const tasks={
        '':()=>{console.log('멍멍')},
        고양이()
        {
            console.log('야옹')
        },
        '참새':function(){
            //익명함수
            //그런데 이것보다는
            //고양이 함수처럼 최신 문법처럼 
            //하는 것이 차라리 나음
            console.log('짹짹!');
        },
        비둘기(){
            console.log('구구!');
        }
    };
    return tasks[animal]||'...?';
}

makeSound('');//멍멍!
makeSound('고양이');//야옹!
makeSound('참새');//짹짹!
makeSound('비둘기');//구구구!
makeSound('고양희');//...?

Updated: