IT공부

[지식루프의 IT공부] 자바스크립트에서 null과 undefined 차이점

지식루프 2024. 12. 21. 22:05
728x90
반응형

null과 undefined는 자바스크립트에서 값이 비어있음을 표현하는 두 가지 유형입니다. 하지만 의미와 용도가 다릅니다.


1. undefined

정의되지 않음을 의미하며, 자바스크립트에서 기본적으로 할당되지 않은 변수나 객체의 속성은 undefined입니다.

특징:

  • 암시적으로 값이 없는 경우 발생
  • 변수가 선언되었지만 값이 할당되지 않은 경우
  • 존재하지 않는 객체 속성에 접근한 경우
  • 함수가 값을 명시적으로 반환하지 않는 경우
  • 함수에 전달되지 않은 매개변수

예시:

 


2. null

의도적으로 값이 비어있음을 명시할 때 사용합니다.

특징:

  • 명시적으로 값이 없음을 나타내기 위해 사용
  • 직접 null 값을 변수나 객체에 할당하여 비어있음을 표현

예시:


3. 주요 차이점 요약

구분undefinednull

의미 값이 할당되지 않음 (자동 할당) 값이 비어있음을 명시적으로 표현 (직접 할당)
타입 undefined object
사용 의도 초기화되지 않은 변수, 속성 없음 변수나 속성에 값이 없다는 것을 명시적으로 표현
자동 할당 여부 자동 수동 (명시적으로 할당 필요)
주요 발생 상황 - 선언 후 초기화되지 않은 변수
- 없는 속성
- 값이 없음을 개발자가 명시적으로 설정

4. typeof 결과 차이

 


5. 언제 사용해야 할까?

  • undefined → 시스템이 값을 자동으로 할당할 때 발생 (초기화되지 않은 변수, 속성 없음)
  • null → 값을 비워야 할 필요가 있을 때 개발자가 명시적으로 사용

6. 결론

  • undefined는 자바스크립트가 자동으로 설정하는 값
  • null은 프로그래머가 의도적으로 값이 없음을 표현하는 값

undefined는 예상치 못한 오류를 나타내는 경우가 많고, null은 의도적인 공백 상태를 나타냅니다.

728x90
반응형