거짓같은 값
거짓 같은 값(Falsy, falsey로 쓰이기도 함) 값은 불리언 문맥에서 false
로 평가되는 값입니다.
JavaScript는 조건절 (en-US), 반복문 (en-US) 등 불리언 값이 필요한 곳에서 형 변환 (en-US)을 이용해 특정 값을 불리언 값으로 변환합니다.
다음은 8가지 거짓 같은 값들입니다:
false |
키워드 false |
---|---|
0 |
숫자 zero |
-0 |
음수 zero |
0n |
BigInt. 불리언으로 사용될 경우, 숫자와 같은 규칙을 따름. 0n 은 거짓 같은 값. |
"" |
빈 string |
null | null - 아무런 값도 없음 |
undefined | undefined - 원시값 |
NaN (en-US) | 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