false = 빈문자열
let a = "";
if (a) {
console.log("true");
} else {
console.log("false");
}
// false
true = 문자열
let a = "string";
if (a) {
console.log("true");
} else {
console.log("false");
}
// true
true = 배열
let a = [];
if (a) {
console.log("true");
} else {
console.log("false");
}
// true
truthy :
falsy : null, undefined, 값없음, 0, -0, NaN, ""
활용할 수 있는 기능
예시
const getName = (person) => {
return person.name;
};
let person = { name: "다람"};
const name = getName(person);
console.log(name); // 다람
값이 없으면 에러남
const getName = (person) => {
return person.name;
};
let person //값이 없음
const name = getName(person);
console.log(name); // 에러가 난다.
그럼 falsy한 값 걸러주게 다 조건문 걸고있음??????? NO!!!
const getName = (person) => {
if(person === undefined || person === null) { //이거 falsy한거 언제 다써..
return "객체가 아닙니다";
}
return person.name;
};
let person
const name = getName(person);
console.log(name); // 객체가 아닙니다
const getName = (person) => {
if(!person) { //!이걸로 해결!!
return "객체가 아닙니다";
}
return person.name;
};
let person
const name = getName(person);
console.log(name); // 객체가 아닙니다