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

 

 

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