[Debug] JS에 NULL의 타입은?

Burkey·2023년 10월 27일

Debug

목록 보기
4/6
post-thumbnail

MDN에 원시타입 문서를 살펴보면

원시타입
js에서 객체가 아니면서 메소드 또는 속성을 가지지 않는 값을 말합니다.

<종류>

  • string
  • number
  • bigint
  • boolean
  • undefined
  • symbol
  • null

그런데 여기서 nulltypeof 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 출력

참조값과 원시값이 메모리에 들어가있는 형태

profile
스탯 올리는 중

0개의 댓글