Javascript/조건문

Javascript 조건문을 스마트하게 사용하는 방법 (include, 화살표함수, 객체활용)

appmaster 2021. 2. 1. 16:38

특정값이 여러값중에 하나인지 아닌지 확인하는 방법

function isAnimal(text){
    return(
        text == '고양이' || text == '개' || text == '너구리' || text == '거북이'
    );
}

console.log(isAnimal('개'));
console.log(isAnimal('노트북'));
//출력값
true
false

다음과 같이 return하게 되면 식이 매우 복잡하게 되는걸 보실 수 있습니다.

이것을 간단하게 해결하는 방법은 include입니다.

 

 

 

1. include 사용방법

우선 비교하고싶은 값들을 배열안에 넣습니다.

function isAnimal(text) {

    const animals = ['고양이', '개', '너구리', '거북이'];
    return animals.includes(text);
}

console.log(isAnimal('개'));
console.log(isAnimal('노트북'));
//출력값
true
false

아까전에와 달리 복잡하게 조건문 없이 Boolean값이 출력되는것을 알 수 있습니다.

 

 

 

2. 화살표 함수 사용방법

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

console.log(isAnimal('개'));
console.log(isAnimal('노트북'));
//출력값
true
false

 

**주의 **

무조건 짧은코드라고 좋은것이 아닙니다. 코드는 효율적이면서 봤을때 이해하기 쉬운 코드가 좋은 코드입니다.

 

 

 

 

return 값의 종류가 많은경우

function getSound(animal){
    if(animal==='개') return '멍멍!';
    if(animal==='고양이') return '야옹!';
    if(animal==='참새') return '짹짹!';
    if(animal==='비둘기') return '구구!';
    return '...?'
}

console.log(getSound('개'));
console.log(getSound('사람'));

다음과 같이하면 틀린것은 아니지만 수많은 if문과 return 때문에 비효율적으로 보입니다.

switch문도 마찬가지로 복잡해집니다.

 

 

 

 

3. 객체 활용

function getSound(animal){
    const sounds = {
        개: '멍멍!',
        고양이: '야옹!',
        참새: '짹짹!',
        비둘기: '구구!'
    };
    return sounds[animal] ||'...?';
}

console.log(getSound('개'));
console.log(getSound('사람'));

다음과 같이 객체로 활용하면 훨씬 깔끔하고 가독성도 좋습니다.

'Javascript > 조건문' 카테고리의 다른 글

표현식 참, 거짓  (0) 2021.01.26