-
Javascript - 조건문 스마트하게 쓰기Javascript 2020. 9. 5. 21:36
1. 특정 값을 여러값들 중에 있는지 확인해야 하는 상황에서
function isAnimal(text){ return (text === '고양이' || text === '개' || text === '거북이' || text === '너구리'); } console.log(isAnimal('개')); console.log(isAnimal('노트북'));
=> true
=> false
이걸 배열로 만들어 사용하면(includes() 함수),
function isAnimal(text){ const animals = ['고양이', '개', '거북이', '너구리']; return animals.includes(text); // 배열 내장함수 includes() -> 배열에 값 유무 확인하고 boolean값 반환 } console.log(isAnimal('개')); console.log(isAnimal('노트북'));
화살표 함수로 만들어 사용
const isAnimal = text => ['고양이', '개', '거북이', '너구리'].includes(text); console.log(isAnimal('개')); console.log(isAnimal('노트북'));
2. 주어진 값에 따라 다른 값을 반환해야 하는 상황
function getSound(animal){ if(animal === '개') return '멍멍!'; if(animal === '고양이') return '야옹~'; if(animal === '참새') return '짹짹'; if(animal === '비둘기') return '구구구구'; return '...?'; } console.log(getSound('개')); => 멍멍! console.log(getSound('비둘기')); => 구구구구 console.log(getSound('인간')); => ...?
스위치문 써도 되지만 객체 사용하면 더 좋다
function getSound(animal){ const sounds = { '개': '멍멍!', '고양이': '야옹~', '참새': '짹짹', '비둘기': '구구구구' }; return sounds[animal] || '...?'; // 단축 평가 논리 계산법 사용 } console.log(getSound('개')); => 멍멍! console.log(getSound('비둘기')); => 구구구구 console.log(getSound('인간')); => ...?
특정 값에 따라 다른 코드를 실행 시키고 싶을 때,
조건에 따라 다른 동작하고 싶을 때도 객체 사용
function makeSound(animal){ const tasks = { 개: () => { console.log('멍멍!'); }, 고양이() { console.log('야옹!'); }, 비둘기: function(){ console.log('구구구구'); } } const task = tasks[animal]; if (!task){ console.log('...?'); return; } task(); } makesound('개'); makesound('비둘기'); makesound('인간');
'Javascript' 카테고리의 다른 글
Javascript - spread (0) 2020.09.05 Javascript - 비구조화 할당(구조 분해) (0) 2020.09.05 Javascript - 함수의 기본 파라미터 (0) 2020.09.04 javascript - 단축 평가 논리 계산법(Short-circuit evaluation) (0) 2020.09.04 Javascript - Truthy and Falsy (0) 2020.09.04