특정값이 여러값중에 하나인지 아닌지 확인하는 방법
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 |
---|