02_STUDY/JavaScript
[ JavaScript ] Truthy와 Falsy
zestlumen
2023. 8. 28. 04:50
자바스크립트에서는 논리적인 판단을 위해 값을 참(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로 간주되는 값이다');
}
숫자 0은 Falsy한 값이기 때문에 'false로 간주되는 값이다'가 출력된다.