본문 바로가기
02_STUDY/JavaScript

[ JavaScript ] Truthy와 Falsy

by zestlumen 2023. 8. 28.

자바스크립트에서는 논리적인 판단을 위해 값을 참(true) 또는 거짓(false)로 판별하는데

이때 'Truthy'와 'Falsy'라는 개념이 사용된다.

 

 

Truthy 와 Falsy가 뭐죠?

Truthy는 Falsy 는 직접적으로 ture와 false는 아니지만

조건식이나 논리 연산에서 참과 거짓으로 간주되는 값을 의미한다.

이 값들은 조건식이나 논리 연산에서 자동으로 판별되어 참과 거짓으로 활용된다.

 

 

 

 

 

Truthy 값의 예시

true 논리적 참

숫자 0을 제외한 모든 숫자

문자열(빈 문자열 제외한 모든 문자, ex) "0", "false"도 string)

객체 및 배열 (빈 객체 { } 빈 배열 [ ] 도 참으로 간주됨)

 

 

 

Falsy 값의 예시

false 논리적 거짓

0, -0 숫자0과 -0

'' , "" , `` 빈 문자열

null 값이 없음을 나타냄

undefined 정의되지 않음을 나타냄

NaN 숫자가 아님

0n 매우 큰 정수(BigInt로 0를 나타내는 값, Number타입이 표현할 수 있는 숫자 범위를 넘어서는 매우 큰 정수 )

 

 

 

 

 

 

아래의 예시와 같이 Truthy와 Falsy는 자주 헷갈릴 수 있기 때문에 주의해야 한다.

 

const username = ''; //빈 문자열

if (username) {
	console.log('사용자 이름이 입력되었습니다.');
} else {
	console.log('사용자 이름을 입력해주세요.');
}

 

위 코드를 보면 username은 빈 문자열Falsy한 값이다. 

따라서 false로 간주되어 '사용자 이름을 입력해주세요'가 출력된다.

 

 

 

const age = 0;

if (age) {
	console.log('true로 간주되는 값이다');
} else {
	console.log('false로 간주되는 값이다');
}

 

숫자 0Falsy한 값이기 때문에 'false로 간주되는 값이다'가 출력된다.