Truthy & Falsy
자바스크립트가 임의로 참으로 판정하는 값들이 있음
{}, 숫자, 문자열(빈 문자열 제외), Infinity 등
자바스크립트가 거짓으로 판정하는 값들
null, undefined(아무것도 할당하지 않은 상태), 0, -0, NaN, ""
let a = "";
if (a) {
console.log("True");
} else {
console.log("False");
}
// False
// a에는 빈 문자열이 할당되었음에도 불구하고 false로 인식함
const getName = (person) => {
if (!person) {
return "객체가 아닙니다"; // falsy 이용
}
return person.name;
};
let person; // undefined
const name = getName(person);
console.log(name);
undefined된 person은 !person에 해당되어 "객체가 아닙니다" 출력