[JavaScript] 자바스크립트 Truthy와 Falsy 쉽게 이해하기!

2023. 9. 10. 11:05JavaScript

 

 

Truthy & Falsy ?

우리가 언어를 배우고 개발을 하면서

조건의 리턴 값을 반환해줄 때 true와 false는

정말 많이 보았을 것이다.

 

그런데 Truthy는 무엇이고, Falsy는 대체 무엇일까?

어렵게 생각할 것 없이

Truthy는 자바스크립트에서 true로 인식하는 값,

Falsy는 자바스크립트에서 false로 인식하는 값을 나타낸다.

 

더 이해하기 쉽게 자바스크립트에서

각각 true와 false로 인식하는 값들을

간단히 조건문을 통해 살펴보자.

 

Falsy ( = 'false' 같은 값 )

if (false) {
	// false
} else if (undefined) {
	// false
} else if (null) {
	// false
} else if (0) {
	// false 
} else if (("")) {
	// false
} else if (NaN) {
	// false
}

 

위와 같이 자바스크립트에서

flase로 해당하는 값들이 

( undefined, null, 0, "", NaN, false )

이렇게 총 6개가 있다.

 


Truthy ( = 'true' 같은 값 )

if (true) {
	// true
} else if ("Hello") {
	// true
} else if (2) {
	// true
} else if ([]) {
	// true
} else if ({}) {
	// true
}

 

Truthy한 값은 위와 같이

( true, "Hello", 2, [], {} 등)

Falsy 해당하지 않는 나머지 값들이라고 보면된다.

 

그래서 둘다 머릿속에 기억하기 보다는

대체로 Falsy한 값들만 기억하고 개발하는 편이고

그 방법이 더 수월하고 편하다.

 

 

[정리]

단지 기존에 봐왔던 true나 false가 아니라서

어색한 개념일 수도 있지만, 단순히 생각하면

 

자바스크립트(JavaScript)에서는 이러한 값들을

Falsy라는 개념이 'false'로 인식하는 하는 것이고,

Truthy라는 개념이 'true'로 인식하는 것이구나 하고

쉽게 이해하는 것이 편하다.