*undefined 은 변수를 선언하고 값을 할당하지 않은 상태, null 은 변수를 선언하고 빈 값을 할당한 상태(빈 객체)이다. 즉, undefined 는 자료형이 없는 상태이고, null 은 자료형이 있는 상태이다.*

따라서 typeof를 통해 자료형을 확인해보면 null 은 object로, undefined는 undefined 가 출력되는 것을 확인할 수 있다.

typeof null      // 'object'
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

undefined

null

리터럴 : 데이터 그 자체를 의미하며, 변하지 않는 데이터를 의미한다.

상수 : 상수는 변하지 않는 변수를 의미한다.

차이 : 리터럴은 메모리 위치안의 값을 의미하고 상수는 메모리 위치 값를 의미한다.

알아두면 좋은 것