728x90
반응형
null과 undefined는 자바스크립트에서 값이 비어있음을 표현하는 두 가지 유형입니다. 하지만 의미와 용도가 다릅니다.
1. undefined
정의되지 않음을 의미하며, 자바스크립트에서 기본적으로 할당되지 않은 변수나 객체의 속성은 undefined입니다.
특징:
- 암시적으로 값이 없는 경우 발생
- 변수가 선언되었지만 값이 할당되지 않은 경우
- 존재하지 않는 객체 속성에 접근한 경우
- 함수가 값을 명시적으로 반환하지 않는 경우
- 함수에 전달되지 않은 매개변수
예시:
2. null
의도적으로 값이 비어있음을 명시할 때 사용합니다.
특징:
- 명시적으로 값이 없음을 나타내기 위해 사용
- 직접 null 값을 변수나 객체에 할당하여 비어있음을 표현
예시:
3. 주요 차이점 요약
구분undefinednull
의미 | 값이 할당되지 않음 (자동 할당) | 값이 비어있음을 명시적으로 표현 (직접 할당) |
타입 | undefined | object |
사용 의도 | 초기화되지 않은 변수, 속성 없음 | 변수나 속성에 값이 없다는 것을 명시적으로 표현 |
자동 할당 여부 | 자동 | 수동 (명시적으로 할당 필요) |
주요 발생 상황 | - 선언 후 초기화되지 않은 변수 - 없는 속성 |
- 값이 없음을 개발자가 명시적으로 설정 |
4. typeof 결과 차이
5. 언제 사용해야 할까?
- undefined → 시스템이 값을 자동으로 할당할 때 발생 (초기화되지 않은 변수, 속성 없음)
- null → 값을 비워야 할 필요가 있을 때 개발자가 명시적으로 사용
6. 결론
- undefined는 자바스크립트가 자동으로 설정하는 값
- null은 프로그래머가 의도적으로 값이 없음을 표현하는 값
undefined는 예상치 못한 오류를 나타내는 경우가 많고, null은 의도적인 공백 상태를 나타냅니다.
728x90
반응형
'IT공부' 카테고리의 다른 글
[지식루프의 IT공부] Boolean('0') 이 true 인 이유 (0) | 2024.12.17 |
---|---|
[지식루프 IT공부] 자바스크립트 연산자 우선순위 (1) | 2024.12.15 |
[지식루프 IT라이프] vscode 들여쓰기 설정 (1) | 2024.10.26 |
[지식루프 IT라이프] api 열어준다, 제공한다의 의미 (0) | 2024.10.26 |
[지식루프 IT라이프] javascript runtime 뜻 (0) | 2024.10.26 |