본문 바로가기
Javascript

[JS] 자바스크립트 typeof 연산자

by codnjs779 2022. 9. 23.

오렐리 자바스크립트 책을 읽다가 전에 궁금했었던 typeof 연산자 리턴 값에 대해 다시 알게 되어서 정리해두려 한다.

 

일단, typeof 연산자를 사용할 때 리턴값은 아래와 같다.

x typeof x
undefined undefined
null object
true or false boolean
숫자 or NaN number
BigInt bigint
문자열 전체 string
심벌 전체 symbol
함수 전체 function
함수가 아닌 객체 전체 object

예상외 반환값을 가진건 null이었음. -> 왜 그런지는 책에도 명확하게 나와있지 않아서 잘 모르겠는데,

mdn을 보면

.즉, 변수가 아무런 객체를 가리키지 않음을 표현합니다. API에서는 null을 종종 관련된 객체가 존재하지 않을 때 그 객체 대신 사용합니다.

위와 같이 나와있는데,,! 해당 맥락과 연관이 있는 건가 싶다. (잘 모르겠음,,ㅎ)

 

 

이전에 TS없이 코드를 짜다가 자료형 검사를 해야 할 일이 있었는데,

배열의 타입을 검사하면 object로 나오길래 왜그럴까 싶었다. typeof는 함수가 아닌 객체 전체와 배열을 뭉뚱그려 object라고 평가하기 때문이라고 한다. 그래서 객체와 기본 타입을 구별하는 용도로 사용할 수 밖에 없음.