무엇이 정의되지 않았나요? JavaScript의 undefined
JavaScript에서 undefined
는 변수나 객체 프로퍼티에 값이 할당되지 않았음을 나타내는 특수한 값입니다.
형식
typeof undefined // "undefined"
특징
* primitive 값입니다.
* null
과 다릅니다. null
은 의도적으로 설정된 값이 없는 상태를 나타냅니다. 반면에 undefined
는 값이 할당되지 않은 상태를 나타냅니다.
* 모든 falsy한 값 중 하나입니다. 즉, 조건문에서 false
로 평가됩니다.
예시
다음 예시에서는 x
변수는 정의되지 않으므로 undefined
값을 반환합니다.
console.log(x); // undefined
다음 예시에서는 obj
객체의 prop
프로퍼티는 정의되지 않으므로 undefined
값을 반환합니다.
const obj = {};
console.log(obj.prop); // undefined
null과의 차이점
undefined
와 null
은 모두 falsy한 값이지만 다음과 같은 차이점이 있습니다.
* undefined
는 값이 할당되지 않음을 나타냅니다.
* null
은 값이 의도적으로 설정되지 않았음을 나타냅니다.
* typeof null
은 “object”이고 typeof undefined
는 “undefined”입니다.
다음 표는 undefined
와 null
의 차이점을 요약합니다.
| 특징 | undefined | null |
|—|—|—|
| 값 할당 | 할당되지 않음 | 의도적으로 설정되지 않음 |
| typeof | “undefined” | “object” |
| falsy | true | true |
결론
undefined
는 JavaScript 개발에서 필수적인 개념입니다. 값이 할당되지 않은 변수와 객체 프로퍼티를 식별하는 데 사용됩니다. undefined
와 null
의 차이점을 이해하는 것은 효과적인 JavaScript 코드 작성에 필수적입니다.