Truthy
는 자바스크립트에서 Boolean
을 기대하는 문맥에서 참으로 평가하는 값이다. - 참고
if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
Falsy
는 자바스크립트에서 Boolean
을 기대하는 문맥에서 거짓으로 평가하는 값이다. - 참고
false, null, undefined, 0, -0, NaN, ""(빈문자열)
const getName = (person) => {
if (!person) {
return '객체가 아닙니다';
}
return person.name;
};
let person1 = null;
let person2 = { name: '홍길동' };
const name1 = getName(person1);
const name2 = getName(person2);
console.log(name1);
console.log(name2);
홍길동
getName()
에 들어오는 매개변수가 name
이라는 프로퍼티를 가지지 않거나, 아예 null
이나 undefined
같이 객체가 아닐경우 에 대해 if (person === null || person === null)
과 같이 모든 경우에 대해 예외처리를 해주어야 한다.
이런 경우에 Truthy
와 Falsy
의 성질을 이용해서 예외처리를 해줄 수 있다.