1. null
•
•
모든 객체는 null 값으로 부터 파생되며 따라서 typeof 연산자는 아래의 코드에서 object를 반환합니다.
typeof null === 'object' // true
//null 타입을 확인할 때 일치 연산자(===)를 사용해야 함
var foo = 'Lee';
foo = null; // 참조 정보가 제거됨
//또는 함수 호출시 유효한 값을 반환할 수 없는 경우에 명시적으로 반환함
Plain Text
복사
2. undefined
•
객체 내부에 존재하지 않는 프로퍼티에 접근할 때와 return문이 없거나 호출되지 않는 함수일 때도 undefined 를 반환합니다.
var x; // 값을 할당하지 않고 변수 선언
console.log("x's value is", x) // "x's value is undefined" 출력
//개발자가 의도적으로 할당한 값이 아니라 자바스크립트엔진에 의해 초기화된 값
Plain Text
복사
3. null과 undefined의 차이
•
•
동등 연산자는 자료형 변환을 수행합니다.
typeof null // "object" (하위호환 유지를 위해 "null"이 아님)
typeof undefined // "undefined"
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true
isNaN(1 + null) // false
isNaN(1 + undefined) // true
Plain Text
복사
참고 :
65p~67p /
29p~34p