1. null
자바스크립트 키워드 null은 아무런 값도 나타내지 않는 특수한 값이다. null은 보통 객체 타입의 특수한 값,
즉 어떠한 객체도 나타내지 않는 값으로 취급된다. null은 다른 모든 값들과 구분되는 고유한 값이다.
어떤 변수가 null 값을 가지면 여러분은 그 변수가 유효한 객체나 배열, 숫자, 문자열, 또는 불리언 값을
담고 있지 않다는 것을 알 수 있다.
null은 불리언 문맥에서 사용하면 false로 변환된다.
숫자 문맥에서 사용되면 0으로 변환되고 문자열 문맥에서 사용되면 "null"로 변환된다.
2. undefined
자바스크립트에서 종종 사용되는 또 다른 특수한 값으로 undefined 값이 있다. undefined는 선언은 되었지만 값이 할당된 적이 없는 변수에 접근하거나, 존재하지 않는 객체 프로퍼티에 접근할 경우 반환되는 값이다.
이 특수한 undefined 값은 null과 동일한 값이 아님을 유념하라.
null과 undefined 값은 서로 구별되는 값이지만 동등 연산자(equality operator) ==는 둘을 같은 것으로
간주한다. 다음 코드를 보자.
my.prop == null;
이 비교는 my.prop 프로퍼티가 존재하지 않거나, 존재하기는 하지만 null 값인 경우 true로 평가된다.
null이거나 undefined인 값은 모두 어떤 값의 부재를 의미하므로 이 비교 결과는 우리가 원하는 바다.
그러나 만약 여러분이 원하는 바가 null값과 undefined 값을 구별하는 것이라면 일치 연산자(identity operator) ===나 typeof 연산자를 사용하라(자세한 내용을 알아보려면 5장을 보라.)
null과는 다르게 자바스크립트에서 undefined는 예약어가 아니다. ECMAScript v3 표준은 초기값이 undefined 값인 undefined라는 이름의 전역 변수가 존재해야 한다고 규정하고 있다.
그러므로 표쥰을 준수하는 구현에서는 undefined 변수에 값을 할당하지 않는 이상 undefined를 키워드로
취급해도 된다. 만약 여러분이 사용하는 구현에서 undefined 변수를 정의하고 있는지 여부가 확실하지 않다면 임의로 여러분만의 undefined 변수를 하나 선언해도 된다.
var undefined;
변수를 선언하ㅣ만 하고 초기화하지 않음으로써 여러분이 사용하는 구현에서 undefined 값이 존재한다는 것을 확실히 할 수 있다. void 연산자(5장을 보라)는 undefined 값을 얻어 내는 또 다른 방법을 제공한다.
undefined 값은 불리언 문맥에서 사용되면 false로 변환된다. 숫자 문맥에서 사용될 경우에는 NaN으로
변환되고 문자열 문맥에서 사용될 경우에는 "undefined" 로 변환된다.
'IT_Programming > JavaScript' 카테고리의 다른 글
자바스크립트 완벽가이드 - 3.10 정규 표현식 (0) | 2010.07.04 |
---|---|
자바스크립트 완벽가이드 - 3.9 Date 객체 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.6 배열 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.5 객체 (0) | 2010.07.04 |
자바스크립트 완벽가이드 - 3.4 함수 (0) | 2010.07.04 |