Null & Undefined

From. Javascript Inside

이 두 타입은 모두 자바스크립트에서 '값이 비어있음'을 나타낸다. 자바스크립트 환경 내에서 기본적으로 값이 할당되지 않은 변수는 undefined 타입이며, undefined 타입의 변수는 변수 자체의 값 또한 undefined이다. 이처럼 자바스크립트에서 undefined는 타입이자, 값을 나타낸다는 것에 주의하자. 변수에 아무런 값이 할당되지 않은 경우 undefined 타입이 출력 될 것이다. 이에 반해 아래의 예제처럼 nullVar 변수와 같이 null 타입 변수의 경우는 개발자가 명시적으로 값이 비어있음을 나타내는 데 사용한다.

여기서 주의할 점은 null 타입 변수인 nullVar의 typeof 결과가 null이 아니라 object라는 것이다. 때문에 다음 예제와 같이 자바스크립트에서는 null 타입 변수인자를 확인할 때 typeof 연산자를 사용하면 안 되고, 일치 연산자(===)를 사용해서 변수의 값을 직접 확인해야 한다.

							var undefinedVar;
							console.log(undefinedVar);		// undefined	
							console.log("type of the undefined Var" + " = " + typeof undefinedVar );	
							// type of the undefined Var = typeof undefinedVar

							console.log("--> null 타입 변수 생셩");
							var nullVar = null;
							console.log(typeof nullVar === null); // false
							console.log(typeof nullVar); // object
							console.log(nullVar === null);	// true