null vs undefined
undefined는 값이 할당되지 않은 상태, null은 의도적으로 비어 있음을 나타냅니다.
둘 다 "값이 없음"을 뜻하지만 의미와 발생 맥락이 다릅니다.
| 구분 | null | undefined |
|---|---|---|
| 의미 | 의도적으로 비움(개발자) | 값 미할당(시스템 기본) |
| typeof | 'object' | 'undefined' |
| 발생 | 직접 할당 | 선언만 하고 미할당 등 |
| JSON | 유지됨 | 제외됨 |
null를 쓸 때
"값이 없음"을 명시적으로 표현하고 싶을 때 직접 할당합니다.
undefined를 쓸 때
직접 할당하기보다, 값이 없는 기본 상태로 자연스럽게 두는 편입니다.
결론
비어 있음을 명시할 땐 null을 쓰고, undefined는 "아직 정해지지 않음"으로 이해하세요. 둘 다 검사하려면 == null이 편리합니다.
← 개발 개념 비교 전체 보기