[JavaScript] 자바스크립트 타입

wldud·2025년 2월 28일

자바스크립트

목록 보기
3/15
post-thumbnail

자바스크립트 타입

  • 원시 타입 : Boolean, String, Number, null, undefined, Symbol (불변성을 가지고 있다.)
  • 참조 타입: Object, Array
    "출처 https://dev.to/cassiolacerda/working-with-immutable-arrays-and-objects-in-javascript-2obb" 기본적으로 JavaScript는 **원시 타입**에 대한 **값을 저장하기 위해 Call Stack 메모리 공간**을 사용하지만 **참조 타입**의 경우 **Heap이라는 별도의 메모리 공간**을 사용합니다. 이 경우 **Call Stack**은 개체 및 배열 값이 아닌 **Heap 메모리 참조 ID**를 값으로 저장합니다.

원시 타입: 고정된 크기로 Call Stack 메모리에 저장, 실제 데이터가 변수에 할당
참조 타입: 데이터 크기가 정해지지 않고 Call Stack 메모리에 저장, 데이터의 값이 heap에 저장되며 변수에 heap 메모리의 주소값이 할당

Primitive types(원시 타입)

NameDescription
string문자열을 나타냅니다.
number숫자 값을 나타냅니다.
booleantrue와 false 값을 가지고 있습니다.
null하나의 값을 가집니다: null
의도적으로 '값이 없음'을 나타내기 위해 사용됩니다.
undefined하나의 값을 가집니다: undefined. 초기화되지 않은 변수의 기본값입니다.
symbol변경 불가능한 유일한 값을 생성할 때 사용하며,
값 자체의 확인이 불가하여 외부로 노출되지 않습니다.
ES6에서 새로 생긴 타입입니다.

Object types (참조 타입)

NameDescription
function함수를 나타냅니다.
array배열을 나타냅니다.
classes클래스를 나타냅니다.
object객체를 나타냅니다.

자바스크립트는 동적 타입입니다.

JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic)언어 입니다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당(및 재할당) 가능합니다.

  • 같은 변수가 여러개의 타입을 가질 수 있다.
  • 타입을 명시하지 않아도 된다.
  • 대부분의 다른 언어는 정적(Static) 타입 언어입니다. (C++, 자바, C#)

0개의 댓글