undefined
- 변수가 선언은 되었지만 값이 할당된 적이 없는 변수에 접근하건, 존재하지 않은 객체 프로퍼티에 접근할 경우 반환되는 값.
- 논리 연산에서 false로,
산술연산에서는 NaN로,
문자열 연산에서는 "undefined"로 변환되어 연산됨.
null
- 예약어
- 보통 참조 타입과 함께 쓰여, 어떠한 객체도 나타내지 않는 특수한 값으로 사용
- 논리 연산에서는 false로,
산술연산에서는 0으로,
문자열 연산에서는 "null"로 변환되어 연산됨.
//undefined와 null var a; var obj = {}; document.writeln('a: '+ a);//a: undefinde document.writeln('obj: '+ obj);//obj: [object Object] document.writeln('obj.prop: '+ a);//a: obj.prop:: undefined obj = null; //객체 참조를 제거 document.writeln("obj: " + obj);//obj : null if(!a){} //!undefined if(!obj){} //!null