흔히 알고 있는 자료형인 Boolean에는 True와 False라는 두 가지 값이 있다.
그런데 특이하게도 자바스크립트에는 일반적인 언어와 달리 Truthy와 Falsy라는 개념이 있다.
Truthy와 Falsy
truthy는 true는 아니지만 true로 여겨지는 값이다.
<예시>
- true
- { } (empty object)
- [ ] (empty array)
- 13 (number, not zero)
- "0", "false", "js" (string, not empty)
Falsy
Falsy는 Truthy와 반대의 개념으로 false는 아니지만 false로 여겨지는 값이다.
<예시>
- false
- 0, -0 (zero, minus zero)
- 0n (BigInt zero)
- ' ', " ", ` ` (empty string)
- null
- undefined
- NaN (not a Number)
공부하면서 이러한 Truthy와 Falsy의 개념이 자주 쓰이겠다 싶은 부분은 Inline 조건문이라고 생각한다.
// True -> expression, False -> false
T/F && expression
과 같이 &&연산자 좌측 인수의 true / false 여부가 달라질 수 있기 때문이다.
'Web > JavaScript' 카테고리의 다른 글
[JS] 옵셔널 체이닝 연산자 ?.와null 병합 연산자 ?? 알아보기 (0) | 2023.05.23 |
---|---|
[JS] 변수, 함수 호이스팅(Hoisting) 알아보기 (0) | 2023.05.07 |
[React] Hook 정리 (0) | 2022.08.02 |