[JS] Truthy & Falsy

이재훈·2023년 6월 2일
0

javascript

목록 보기
3/13
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) : 기초부터 실전까지(이정환)"
를 정리한 내용입니다. 쉽게 잘 설명해주시니 여러분도 강의를 듣는 것을 추천드립니다.

profile
부족함을 인정하고 노력하자

0개의 댓글