let text = "";
if (text) {
console.log(true);
} else {
console.log(false);
}
// false
text는 boolean이 아니지만 if문의 조건문 안에 들어가게 되면 신기하게 false를 출력합니다.
let text = "2";
if (text) {
console.log(true);
} else {
console.log(false);
}
// true
비어있지 않은 문자열을 넣으니 true를 출력하는 것을 볼 수 있습니다.
자바스크립트는 boolean이 아닌 다른 자료형을 넣어도 true와 false로 인식을 합니다.
실제로 true나 false가 아니지만 자바스크립트의 기준대로 true와 false로 인식을 합니다.
이것을 Truthy & Falsy 라고 합니다.
[] // true
{} // true
42 // true
"false" // true
Infinity; // true
null // false
undefined // false
0 // false
-0 // false
NaN // false
"" // false
const getAge = (person) => {
return person.age;
};
let person = { name: "jay", age: 12 };
const age = getAge(person);
console.log(age);
객체의 나이를 찾아 출력하는 프로그램이 있습니다. 여기서 person 객체 자체가 null 일 경우 에러가 발생하게 됩니다.
이럴 경우 Truthy & Falsy 사용하여 예외 처리를 해보도록 하겠습니다.
const getAge = (person) => {
if (person) {
return person.age;
} else {
throw new Error("객체가 아닙니다.");
}
};
let person;
const age = getAge(person);
console.log(age);
해당 게시글은 인프런 강의
"한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지(이정환)"
를 정리한 내용입니다. 쉽게 잘 설명해주시니 여러분도 강의를 듣는 것을 추천드립니다.