변수는 다양한 타입의 데이터를 담을 수 있는데, 어떠한 데이터 타입이 있는지 알아보자.
Type | typeof return value |
---|---|
Null | object |
Undefined | undefined |
Boolean | boolean |
Number BigInt | number bigint |
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