자바스크립트 타입은 크게 두 가지로 나눌 수 있습니다. 원시 타입과 참조 타입입니다.
원시 타입에는 Boolean
, String
, Number
, null
, undefined
, Symbol
이 있습니다.
이들은 불변성을 가지고 있습니다.
참조 타입에는 Object
, Array
가 있습니다.
기본적으로 Javascript는 원시 타입에 대한 값을 저장하기 위해 Call Stack 메모리 공간을 사용하지만 참조 타입의 경우 Heap이라는 별도의 메모리 공간을 사용합니다. 이 경우 Call Stack은 객체 및 배열 값이 아닌 Heap 메모리 참조 ID를 값으로 저장합니다.
JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어입니다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능합니다.
let foo = 42; // foo is number
foo = "bar"; // now foo is string
foo = true; // now foow is boolean