자바스크립트는 3가지의 undefined 존재합니다.
타입으로서의 undefined
우선 undefined는 자바스크립트 기본 타입 입니다.
ES5 까지는 다음과 같은 6가지 Built-in type이 있었습니다. undefined는 그중 하나입니다.
number, boolean, string, object, null, undefined
값으로서의 undefined
undefined는 undefined 타입의 유일한 값입니다.
값이 할당되지 않은 변수 혹은 값이 할당되지 않은 프로퍼티는 undefined가 됩니다.
var a; // undefined
var b = {};
b.c; // undefined;
또한, 리턴문이 없는 함수나 리턴하는 값이 없는 리턴문으로 끝나는 함수의 실행 결과도 undefined가 됩니다.
function returnUndefined() {
return;
}
function noReturn() {}
returnUndefined(); // undefined
noReturn(); // undefined
전역 프로퍼티 undefined
global context에는 undefined라는 이름의 프로퍼티가 설정되어 있습니다. 이 undefined는 undefined인 값을 가집니다.
ES5 이후로 이 프로퍼티는 non-configurable이고, non-writable로 설정되어 있습니다. 따라서 변경할 수 없습니다.
global.undefined // undefined;
global.undefined = 1;
global.undefined // undefined;
'Javascript' 카테고리의 다른 글
html5-lint를 이용해 console에서 html 문서 validate 하기 (0) | 2016.11.18 |
---|---|
ECMAScript 6 정리 (0) | 2016.11.18 |
javascript 성능 향상 팁 (0) | 2014.08.04 |
javascript 런타임 오류: 80020101 오류가 발생하여 작업을 완료할 수 없습니다. (0) | 2014.08.04 |
javascript window.open 사용 시 잘못된 인수 오류 (0) | 2014.07.30 |
개의 댓글