본문 바로가기
Javascript

[Javascript] truthy, falsy

by 코드뭉치 2023. 6. 14.

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

댓글