Web Programming

[JavaScript] Truthy vs Falsy

효딩 2024. 3. 3. 20:37

Truthy

자바스크립트에서 truthy인 값은 Boolean 문맥에서 true로 평가되는 값이다. (너무 당연한 얘기)

falsy값으로 정의된 값이 아니면 모두 truthy값으로 평가된다.

Falsy

Boolean 문맥에서 false로 평가되는 값이다.

Falsy 값:

  • false: 직접적으로 false 값을 가지는 경우
  • 0: 숫자 0
  • -0: 음의 숫자 0
  • NaN: 숫자가 아님(Not-a-Number)
  • null: 값이 없음을 나타내는 값
  • undefined: 정의되지 않은 값
  • '' 또는 "": 빈 문자열 등

주의!

빈 배열 []나 객체 {}는 truthy한 값이다.

falsy한 값 앞에 !를 붙여주면 truthy로 전환된다. (반대도 마찬가지)

아래 코드는 지피티가 짜준 예시

let value = ''; // falsy value

if (value) {

console.log("This block won't execute because the value is falsy.");

} else {

console.log("This block will execute because the value is falsy.");

}