Javascript

자바스크립트 Falsy 값 이해하기

김스택 2024. 2. 13. 14:15

자바스크립트에서 Falsy란?

자바스크립트에서 "falsy"라는 용어는 "거짓 같은" 값을 나타내며, 조건문에서 거짓으로 평가되는 값을 의미합니다. 즉, 이러한 값들은 if 조건문이나 논리 연산자와 함께 사용될 때 거짓(false)으로 처리됩니다. 자바스크립트에는 명확하게 거짓(false)은 아니지만, 거짓으로 취급되는 몇 가지 특정 값이 있습니다.

 

 

자바스크립트의 Falsy 값

자바스크립트에서 다음과 같은 값들은 Falsy로 간주됩니다.

  • false : 불리언 거짓 값입니다.
  • 0 : 숫자 0입니다.
  • -0 : 음의 0입니다.
  • 0n : BigInt 형식의 0, 큰 정수 리터럴에서 사용됩니다.
  • "", '', ```` : 빈 문자열입니다. 즉, 내용이 없는 문자열입니다.
  • null : "아무것도 없음"을 나타내는 값입니다.
  • undefined : 값이 할당되지 않은 상태를 나타냅니다.
  • NaN : "Not a Number"의 약자로, 숫자가 아님을 나타냅니다.

 

 

자바스크립트 Falsy 값 코드 예시

 

// 빈 문자열을 검사하는 조건문
if ("") {
    console.log("이 코드는 실행되지 않습니다.");
  } else {
    console.log('빈 문자열은 falsy입니다.');
  }
  
  // 숫자 0을 검사하는 조건문
  if (0) {
    console.log("이 코드는 실행되지 않습니다.");
  } else {
    console.log('0은 falsy입니다.');
  }
  
  // null을 검사하는 조건문
  if (null) {
    console.log("이 코드는 실행되지 않습니다.");
  } else {
    console.log('null은 falsy입니다.');
  }
  
  // undefined를 검사하는 조건문
  if (undefined) {
    console.log("이 코드는 실행되지 않습니다.");
  } else {
    console.log('undefined는 falsy입니다.');
  }
  
  // NaN을 검사하는 조건문
  if (NaN) {
    console.log("이 코드는 실행되지 않습니다.");
  } else {
    console.log('NaN은 falsy입니다.');
  }

 

 

이 코드는 각각의 falsy 값 ("", 0, null, undefined, NaN)을 if 조건문에 넣어서 검사합니다. 조건문은 falsy 값에 대해서는 항상 false로 평가되므로, else 블록의 코드가 실행됩니다.