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 |
댓글