[JavaScript 심화] Truthy & Falsy

2025. 11. 3. 12:36·React/JavaScript 심화

자바스크립트에서는 조건문에서 true/false를 직접 쓰지 않아도

값 자체가 "참 같은 값"인지 "거짓 같은 값"인지에 따라 분기할 수 있음


1. Falsy한 값

let f1 = undefined;
let f2 = null;
let f3 = 0;
let f4 = -0;
let f5 = NaN;
let f6 = "";
let f7 = 0n;
if (!f1) {
  console.log("falsy"); // 실행됨
}
  • `""`(빈 문자열)은 `falsy`
  • `" "`(공백 하나 있는 문자열은 `truthy`

2. Truthy한 값

위 7가지를 제외한 나머지는 전부 `truthy`임
let t1 = "hello";
let t2 = 123;
let t3 = [];
let t4 = {};
let t5 = () => {};

if (t5) {
  console.log("Truthy"); // 실행됨
}

3. 활용 예시

3.1 길게 쓴 버전

function printName(person) {
  if (person === undefined || person === null) {
    console.log("person의 값이 없음");
    return;
  }
  console.log(person.name);
}

let person = null;
printName(person); // person의 값이 없음

3.2 `truthy` / `falsy` 사용하기

function printName2(person) {
  if (!person) {
    console.log("person의 값이 없음");
    return;
  }
  console.log(person.name);
}

let person1 = { name: "도서" }; // let person; || person = null; 일 경우 -> person의 값이 없음 출력
printName2(person1); // "도서"
  • `if (!person)`이라고 쓰면
    -> `undefined`, `null`, `0`, `""` 이런 비어있는 값을 한 번에 거를 수 있어서 편함
  • 이 패턴은 함수 초반에 잘못된 인자를 필터링할 때 자주 씀

'React > JavaScript 심화' 카테고리의 다른 글

[JavaScript 심화] 배열 메서드 (요소 조작)  (0) 2025.11.10
[JavaScript 심화] 순회 정리  (0) 2025.11.10
[JavaScript 심화] Spread & Rest  (0) 2025.11.03
[JavaScript 심화] 구조 분해 할당  (0) 2025.11.03
[JavaScript 심화] 단락 평가  (0) 2025.11.03
'React/JavaScript 심화' 카테고리의 다른 글
  • [JavaScript 심화] 순회 정리
  • [JavaScript 심화] Spread & Rest
  • [JavaScript 심화] 구조 분해 할당
  • [JavaScript 심화] 단락 평가
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    내일배움캠프
    코딩테스트Level.1
    javascript 기본
    객체지향
    React
    function
    Swift
    코딩테스트
    CLASS
    함수
    Flutter
    iOS앱개발
    html
    ios앱개발자
    javascript
    Til
    코딩테스트 level.1
    ios
    DART
    storyboard
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[JavaScript 심화] Truthy & Falsy
상단으로

티스토리툴바