[JavaScript] Truthy 와 Falsy

Suvina·2024년 3월 29일

JavaScript

목록 보기
3/28
post-thumbnail

Truthy 와 Falsy란?

참이나 거짓을 의미하지 않는 값도, 조건문 내에서 참이나 거짓으로 평가하는 특징

Falsy 한 값

if(undefined){
	console.log("undefined is true");
} else {
	console.log("undefined is false");
}

let f1 = undefined;
let f2 = null;
let f3 = 0;
let f4 = -0;
let f5 = NaN;
let f6 = "";
let f7 = 0n;

Truthy 한 값

if(123){
	console.log("123 is true");
} else {
	console.log("123 is false");
}

7가지 Falsy 한 값들 제외한 나머지 모든 값

활용 사례

function printName(person){
    console.log(person.name);
}
let person;
printName(person);

person의 값이 undefined일때
Cannot read properties of undefined (reading 'name') 에러가 출력된다.

function printName(person){
   if(person === undefined){
    	console.log("person의 값이 없음");
    	return;
   }
   console.log(person.name);
}
let person;
printName(person);

이를 방지하기 위해 undefined 일때 return 하는 조건문을 넣어주지만, 이 코드로는 null 일 때의 에러를 막지 못한다.
조건문을 if(person === undefined || person === null) 로 작성해두어도 좋지만 가독성이 떨어진다.

function printName(person){
   if(!person){
    	console.log("person의 값이 없음");
    	return;
   }
   console.log(person.name);
}
let person;
printName(person);

이럴 때에 Falsy 속성을 이용하면 깔끔하게 코드 작성이 가능해진다.

profile
개인공부

0개의 댓글