※ 강의를 듣고 제가 이해한 것을 바탕으로 정리한 것이라서 오류가 있을 수 있습니다.

 

 

1. 특정 텍스트가 존재하는지 안하는지 확인 해야할때

1) 기존 방식

function isAnimal(text) {
return (
text === '고양이' || text === '개' || text === '거북이' || text === '너구리'
);
}
console.log(isAnimal('개')); // true
console.log(isAnimal('노트북')); // false

비교해야 할  값이 많아질수록 코드가 길어져서 불편하다.

 

2) 배열의 includes 함수을 사용하는 방식

function isAnimal(text) {
const animals = ['고양이', '개', '거북이', '너구리'];
return animals.includes(text);
/* 배열 내장함수 includes 배열에 텍스트가 존재하면 true
아니면 false */
}
console.log(isAnimal('개'));
console.log(isAnimal('노트북'));

배열을 만들고 배열의 내장함수인 includes를 사용해서 코드를 작성 하면 더욱 깔끔하고 간결해진다.

 

실행 결과

 

2. 입력 값에 따라 다른 결과물을 반환 해야 할 때

1) 기존 방식1

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

if 문의 코드 블록이 한줄짜리라면 { } 를 생략 할 수도 있다.

 

2) 기존 방식2

function getSound(animal) {
switch (animal) {
case '개':
return '멍멍!';
case '고양이':
return '야옹~';
case '참새':
return '짹짹';
case '비둘기':
return '구구 구 구';
default:
return '...?';
}
}
console.log(getSound('개')); // 멍멍!
console.log(getSound('비둘기')); // 구구 구 구

switch 문에서 return 을 할 때에는 break 를 생략해도 된다.

 

 

3) 객체를 사용한 방식

function getSound(animal) {
const sound = {
개: '멍멍!',
고양이: '야옹~',
참새: '쨱쨱',
비둘기: '구구구구'
};
return sound[animal] || '...?'
}
console.log(getSound('개'));
console.log(getSound('비둘기'));
console.log(getSound('사람'));

함수 안에 객체를 넣어서 사용하면 더 간략하고 가독성이 좋다.

+ Recent posts