[JavaScirpt] truthy(참 같은 값) vs. falsy (거짓 같은 값)

jwp9633·2022년 6월 27일
0

JavaScript

목록 보기
5/28

JavaScript에는 truthy(참 같은 값)falsy(거짓 같은 값)이 있다. 이들은 불리언(boolean)을 기대하는 문맥에서 각각 truefalse로 평가된다.

falsy로 정의된 것이 아니면 truthy이므로 falsy를 먼저 살펴보겠다.

1. falsy(거짓 같은 값)

falsy는 불리언(boolean)을 기대하는 문맥에서 false로 평가된다.

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

2. falsy 예시

falsy한 값이 조건이므로 아래의 if문은 모두 실행되지 않는다.

if (false)
if (null)
if (undefined)
if (NaN)
if ("")
if (0)
if (-0)
if (0n)

3. falsy의 특이한 점: 논리 AND 연산자, &&

첫 번째 객체가 falsy라면, 해당 객체를 반환한다.

false && "dog"
// ↪ false

0 && "dog"
// ↪ 0

4. truthy(참 같은 값)

truthy는 불리언(boolean)을 기대하는 문맥에서 true로 평가된다.

falsy로 정의된 값이 아니라면 모두 truthy이다.

5. truthy 예시

truthy한 값이 조건이므로 아래의 if문은 모두 실행된다.

if (true)
if ({})
if ([])
if (42)
if ("0")
if ("false")
if (new Date())
if (-42)
if (12n)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)

참고문헌

profile
JUST DO IT.

0개의 댓글