오렐리 자바스크립트 책을 읽다가 전에 궁금했었던 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라고 평가하기 때문이라고 한다. 그래서 객체와 기본 타입을 구별하는 용도로 사용할 수 밖에 없음.
'Javascript' 카테고리의 다른 글
[JS] 객체 접근방식 & ES6 객체 리터럴 신문법 (0) | 2022.09.15 |
---|---|
[JS] Fetch API(1) (0) | 2022.06.16 |
[Web] Critical Rendering Path (0) | 2021.12.14 |
[JS] 동기(Synchronous), 비동기(Asynchronous) 프로그래밍(+Promise) (2) | 2021.12.03 |
[JS] 자바스크립트 동작원리 (0) | 2021.12.02 |