dev.syw
언어 · 문법

null vs undefined

undefined는 값이 할당되지 않은 상태, null은 의도적으로 비어 있음을 나타냅니다.

둘 다 "값이 없음"을 뜻하지만 의미와 발생 맥락이 다릅니다.

구분nullundefined
의미의도적으로 비움(개발자)값 미할당(시스템 기본)
typeof'object''undefined'
발생직접 할당선언만 하고 미할당 등
JSON유지됨제외됨

null를 쓸 때

"값이 없음"을 명시적으로 표현하고 싶을 때 직접 할당합니다.

undefined를 쓸 때

직접 할당하기보다, 값이 없는 기본 상태로 자연스럽게 두는 편입니다.

결론

비어 있음을 명시할 땐 null을 쓰고, undefined는 "아직 정해지지 않음"으로 이해하세요. 둘 다 검사하려면 == null이 편리합니다.

← 개발 개념 비교 전체 보기