Javascript - 단축 평가 논리 계산법

YuJin Lee·2020년 10월 7일
0

Javascript

목록 보기
14/22
  • 단축 평가 논리 계산법
    논리 연산자를 조금 더 유용하게 사용하는 방법

  • 파라미터에 객체값이 올바르게 들어갔을 때

const dog = {
  name: '멍멍이'
};

function getName(animal) {
  return animal.name;
}

// 파라미터에 객체값이 제대로 들어갔을 때
const name = getName(dog);
console.log(name); //멍멍이

  • 파라미터에 객체값이 올바르게 들어가지 않았을 때
const dog = {
  name: '멍멍이'
};

function getName(animal) {
  return animal.name;
}

// 만약 파라미터에 값이 제대로 들어가지 않는다면 에러가 뜬다.
const name = getName();
console.log(name);
//TypeError: Cannot read property 'name' of undefined

  • 객체값이 올바르게 들어갔을 때만 결과 값을 반환하고 그렇지 않을 때는 undefined를 반환한다.
const dog = {
  name: '멍멍이'
};

function getName(animal) {

  // animal 값이 제대로 주어졌을 때만 animal.name 값을 반환한다.
  if (animal) {
    return animal.name;
  }

  // 그렇지 않으면 undefined를 반환한다.
  return undefined;
}

const name = getName();
console.log(name); 

  • && 논리연산자를 사용하여 코드 단축시키기
const dog = {
  name: '멍멍이'
};

function getName(animal) {
  // A && B 연산자
  // A가 Truthy한 값이면 B가 결과값이 된다.
  // A가 Falsy한 값이면 A가 결과값이 된다.
  return animal && animal.name;
}

const name = getName();
console.log(name); // undefined

  • || 연산자 사용하여 코드 단축시키기
    || 연산자는 만약 어떤 값이 Falsy할 때 대체로 사용할 값을 정해줄 때 유용하다.
const namelessDog = {
  name: ''
};

function getName(animal) {
  const name = animal && animal.name;
  
  // name의 값이 Falsy하면, '이름이 없는 동물입니다'라는 값 반환
  if (!name) {
    return '이름이 없는 동물입니다';
  }
  return name;
}

const name = getName(namelessDog);
console.log(name); // 이름이 없는 동물입니다

  • || 연산자를 이용하면 다음과 같다.
const namelessDog = {
  name: ''
};

function getName(animal) {
  const name = animal && animal.name;
  
  // A || B
  // A가 Truthy한 경우 결과값은 A
  // A가 Falsy한 경우 결과값은 B
  return name || '이름이 없는 동물입니다';
}

const name = getName(namelessDog);
console.log(name); // 이름이 없는 동물입니다
profile
배운 것을 기록하는 곳 💻🙂

0개의 댓글