JavaScript - Truthy & Falsy

김민찬·2022년 3월 27일
0

JavaScript

목록 보기
7/23
post-thumbnail

JavaScript에서 truthy 한 값들과 falsy 한 값들

참 같은 값(Truthy) - MDN
JavaScirpt에서, Truthy인 값이란 Boolean을 기대하는 문맥에서 true로 평가되는 값이다. 따로 Falsy로 정의된 값이 아니면 모두 Truthy한 값으로 평가된다.

거짓 같은 값(Falsy) - MDN
Falsy인 값은 Boolean 문맥에서 false로 평가되는 값이다.

위의 정의를 읽어보면 Truthy 한 값과 Falsy한 값인지는 Falsy에 의해 결정된다.
falsy한 값이 아니면 Truthy한 값이기 때문이다

Falsy한 값들

MDN에 있는 falsy값은 8가지가 있다.

falsy한 값들설명
false키워드 false
0숫자 zero
-0음수 zero
0nBigInt. 불리언으로 사용될 경우, 숫자와 같은 규칙을 따름. 0n은 거짓 같은 값.
""빈 string
nullnull - 아무런 값도 없음
undefinedundefined - 원시값
NaNNaN - 숫자가 아님

Boolean을 기대하는 문맥

Boolean을 기대하는 문맥의 대표는 if문이라고 생각한다.
if문은 괄호 안에 들어가는 조건을 평가하는데, 그 결과가 true이면 코드 블록이 실행된다.

Falsy한 값은 Boolean 문맥에서 false로 평가되므로 if문의 괄호안에 넣으면 코드 블록은 절대 실행될일이 없다.

if (0) {
  // this code never going to run
}

위의 falsy 한 값에 없었던 empty array([])와 empty object({})는 truthy한 값이므로 if문의 코드 블록에 넣으면 항상 실행된다.

if ([]) {
  // this code always run
}

if ({}) {
  // this code always run
}
profile
두려움 없이

0개의 댓글