본문 바로가기

JavaScript/javascript 기초 공부하기

Truty and falsy, 단축 평가 논리 계산

print()에 빈값(undefined) or null 이 들어가면 

오류가 발생하게 되어 해당과 같은 처리를 해주어야 오류가 발생하지 않는다.

function print(person) {
  if (person === undefined || person === null) {
    console.log('person이 없네요');
    return;
  }
  console.log(person.name);
}

const person = null;
print(person);

undefined와 null값은 모두 false라는 뜻을 가지고 있기때문에 !person으로 대체해서 사용할 수 있다

function print(person) {
  if (!person) {
    console.log('person이 없네요');
    return;
  }
  console.log(person.name);
}

const person = null;
print(person);

위와같은 방식도 가능해진다

 

단축평가 논리 계산

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

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

const name = getName(dog);
console.log(name); // 멍멍이

 

 

const namelessDog = {
  name: ''
};

function getName(animal) {
  const name = animal && animal.name;
  if (!name) {
    return '이름이 없는 동물입니다';
  }
  return name;
}

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

|| 를활용한 단축화

const namelessDog = {
  name: ''
};

function getName(animal) {
  const name = animal && animal.name;
  return name || '이름이 없는 동물입니다.';
}

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