- undefined 는 변수를 선언하고 값을 할당하지 않은 상태 ( 자료형이 없는 상태 )
- null 은 변수를 선언하고 빈 값을 할당한 상태 ( 빈 객체 )
위의 상황에서 undefined를 반환한다.
undifined는 선언한 후에 값을 할당하지 않은 변수나 값이 주어지지 않은 인수에 자동으로 할당된다.
전역 객체의 속성 중 하나로 전역 스코프에서의 변수이기도 함.
null은 어떤 변수의 값이 의도적으로 비어있음을 의미한다. undefined와 달리 null은 해당 변수가 어떤 객체도 가리키고 있지 않다라는 것을 의미한다.
typeof null // 'object'
typeof undefined // 'undefined'
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true
!undefined // true
isNaN(1 + null) // false
isNaN(1 + undefined) // true