undefined은 변수를 선언하고 값을 할당하지 않은 상태로
할당된 메모리 공간이 비어있는 상태를 뜻하며
의 경우에 undefined가 나온다.
null은 변수를 선언하고 빈 값을 할당한 상태(빈 객체)이다.
할당된 메모리공간에 빈값 데이터가 할당된 상태이다.
즉 변수가 어떤 객체도 가리키고 있지 않다는 것을 의미한다.
undefined는 자료형이 없는 상태이다.
따라서 typeOf 와 ==/===으로 대략적인 특성을 파악할 수 있다.
typeof null // 'object'
typeof undefined // 'undefined'
null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null // true