
변수는 다양한 타입의 데이터를 담을 수 있는데, 어떠한 데이터 타입이 있는지 알아보자.

| Type | typeof return value |
|---|---|
| Null | object |
| Undefined | undefined |
| Boolean | boolean |
| Number BigInt | numberbigint |
| String | string |
| Symbol | symbol |
💡
null값은object?
자바스크립트에서null은 동작이 원시적으로 보이기 때문에 원시 값 중 하나로 표시.
👉 초기 자바스크립트에서의 값은 타입 태그(type tag)와 값(value)으로 표현 되었고, 객체(object)의 타입 태그는 0이었다.null포인터(0x00)도 0을 가지고 있어null이object로 인식. 한마디로 버그다. 이에 대한 수정을 ECMAScript에 요청했으나 거절 당했다나 뭐라나~
| Type | |
|---|---|
| object | array |
| function |
각 타입의 예시를 조금 더 디테일하게 파악하려면 아래 이미지를 참고.

참고
https://www.scholarhat.com/tutorial/javascript/datatypes
https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures
https://developer.mozilla.org/ko/docs/Glossary/Null
https://stackoverflow.com/questions/18808226/why-is-typeof-null-object
https://javascript.plainenglish.io/primitive-and-reference-data-types-in-javascript-2b3916cae1ef