MDN에 원시타입 문서를 살펴보면
원시타입
js에서 객체가 아니면서 메소드 또는 속성을 가지지 않는 값을 말합니다.<종류>
- string
- number
- bigint
- boolean
- undefined
- symbol
- null
그런데 여기서 null은 typeof null에서 object로 나오는 현상을 발견할 수 있다. (object는 참조 값이다.)
참조값이란?
원시 값이 아닌 다른 값들을 말하며 메모리에 데이터가 들어가는 것이 아닌
주소가 들어가는 것들을 말합니다.<종류>
- Object
- Array
- Function
찾아보니 원인은 초기 JS의 버그 라고 한다!😮
그래서 MDN에서는 null의 타입을 확인하기 위해서는 === 연산자를 사용하라고 써져있다.
const test = null
console.log(typeof null) // Obiect 출력
console.log(test === null) // true 출력
console.log(test === Object) // false 출력
console.log(test == Object) //false 출력
