1️⃣ true, false
기본적으로 Javascript에서는 소문자 true와 false를 사용하여 참과 거짓을 표현한다
true와 false 외에 다른 값들도 true, 혹은 false로 해석될 수 있는데, 이를 truthy와 falsy라고 부르고,
각각 true와 false와 비슷한 기능을 해준다.
2️⃣ Falsy
| Falsy | |
| false | false |
| 0 | 숫자 0 |
| -0 | 숫자 -0 |
| 0n | Bigint 타입의 0n |
| document.all | DOM의 일부가 아님 |
| null | 값이 없음 |
| undefined | 원시값, 정의되지 않음 |
| NaN | 숫자가 아님 |
| "" | 빈 문자열 |
| '' | 빈 문자열 |
| `` | 빈 문자열 |
이것들이 일반적인 falsy한 값들이다.
3️⃣ Truthy
Falsy값을 제외한 값들은 기본적으로 Truthy이다.
예를 들면 []또는 {}와 같이 빈 배열의 경우, 파이썬에서는 Falsy지만
Javascript에서는 Truthy한 값이다.
4️⃣ Falsy !== False
그렇다면 falsy인 값들은 False와 직접 비교하면 참(true)로 나올까?
몇가지 예시를 들어보자면
console.log(NaN == false) # false, 같지않음
console.log(0 == false) # true, 같음
console.log(0 === false) # false, 같지않음
console.log("true" == true) # false, 같지않음
console.log(1 == true) # true, 같음
console.log(1 === true) # false, 같지않음
이렇게 truthy, falsy라도, 그 값이 true 혹은 false와 일치하지는 않는다.
다만, 동등 연산자(==)의 경우 1과 0을 각각 true와 false로 인정해준다.
그러나 일치 연산자(===)의 경우에는 true, false 자기자신과 비교하지 않는 한, true값을 뱉지 않는다.
'Javascript' 카테고리의 다른 글
| 프론트 변조 (0) | 2023.06.14 |
|---|---|
| toLocaleString() (0) | 2023.06.14 |
| url params (0) | 2023.06.14 |
| Javascript - const, let, var (0) | 2023.05.16 |
| JavaScript - Export와 Import (5) | 2023.05.16 |
댓글