거짓같은 값

번역이 완료되지 않았습니다. Please help translate this article from English

거짓 같은 값(Falsy, falsey로 쓰이기도 함) 값은 불리언 문맥에서 false로 평가되는 값입니다.

JavaScript조건절, 반복문 등 불리언 값이 필요한 곳에서 형 변환을 이용해 특정 값을 불리언 값으로 변환합니다.

다음은 8가지 거짓 같은 값들입니다:

false 키워드 false
0 숫자 zero
-0 음수 zero
0n BigInt. 불리언으로 사용될 경우, 숫자와 같은 규칙을 따름. 0n은 거짓 같은 값.
""

string

null null - 아무런 값도 없음
undefined undefined - 원시값
NaN NaN - 숫자가 아님

오브젝트는  [[IsHTMLDDA]] internal slot 을 가지고 있어야 거짓같은 값이 됩니다. 이 슬롯은 document.all 에만 존재하며 자바스크립트로 설정될 수 없습니다.

예제

다음은 거짓 같은 값의 예시입니다. 거짓 같은 값은 불리언 문맥에서 false로 변환되므로, 아래의 모든 if 블록은 실행되지 않습니다.

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

논리 AND 연산자, &&

첫 번째 객체가 거짓 같은 값이라면, 해당 객체를 반환합니다.

false && "dog"
// ↪ false

0 && "dog"
// ↪ 0

Specifications

Specification
ECMAScript (ECMA-262)
The definition of 'ToBoolean abstract operation' in that specification.

같이 보기