7가지 falsy 값

jinew·2025년 1월 3일

🍎 Javascript

목록 보기
9/22
post-thumbnail

신입 퍼블리셔로 근무한 지 두 달 쯤 됐을 땐가..? 선임님께서 false로 반환되는 값들이 뭐가 있는지 알고 있느냐며 읊어보라고 하셨는데 ..
👩 "undefined.. .. null .. false.... 뭐드라" 했다가 공부하라고 하시며 씨익 웃고 가셨었다.
앗 넵! 해놓고 찾아보긴 했지만 또 가물가물해진 상태.. 모르면 알 때까지 반복해봅시다요



자바스크립트의 7가지 falsy 값


1. false (Boolean)

  console.log(false == false); // true

2. 0 (숫자 0)

	console.log(0 == false); // true

3. -0 (음의 0)

	console.log(-0 == false); // true

4. "" (빈 문자열)

	console.log("" == false); // true
  • 참고로 공백이 포함된 문자열은 truthy다.

5. null

	console.log(null == false); // true
  • null은 값이 없음을 '의도적'으로 나타낸다. 개발자가 의 도 적으로 해당 변수에는 값이 없음을 할당한 것!!!!!!!!!!!!

6. undefined

	console.log(undefined == false); // true
  • undefined는 변수가 초기화되지 않았을 때의 기본값

7. NaN (Not a Number)

	console.log(NaN == false); // true
  • 숫자가 아님을 나타내는 특별한 값 NaN


: 위 값들은 조건문에서 자동으로 false 취급되기 때문에 이 값을 유용하게 활용할수도, 혹은 주의해야 할 수도 있다. 유용하게 사용되는 일반적인 예시로는 사용자가 입력한 값이 비어있는지 확인하는 경우가 있다.

  function checkInput(value) {
    if (!value) {
      console.log("입력이 필요합니다.");
    } else {
      console.log("입력된 값: ", value);
    }
  }

  checkInput("");       // "입력이 필요합니다." (빈 문자열)
  checkInput(null);     // "입력이 필요합니다." (null)
  checkInput(undefined); // "입력이 필요합니다." (undefined)
  checkInput(0);        // "입력이 필요합니다." (숫자 0은 falsy)
  checkInput(false);    // "입력이 필요합니다." (false는 falsy)
  checkInput("Hello");  // "입력된 값:  Hello" (문자열이 있음)

이 외에도 배열이나 객체에서 유효한 값만 필터링한다거나, 로그인 상태를 체크하는 데 사용하기도 한다!
아주 재밌어.. 재미는 있는데 막상 그 상황에서 이걸 떠올릴 수 있을까?.. 하는 생각은 든다 😯 3개월 후 이 글을 보면 또 기분이 다르려나?

profile
멈추지만 않으면 도착해 🛫

0개의 댓글