Javascript Primitive type vs Reference type

효딩딩·2022년 8월 22일
0

자바스크립트에서 사용하는 데이터는 크게 원시자료형, 참조자료형 두가지로 구분할 수 있습니다.

원시자료형 (Primitive Type)

  • 고정된 저장 공간을 차지하는 데이터를 모두 원시 타입(primitive type) 데이터 라고 한다.
  • 객체가 아니면서 method를 가지지 않는 6가지의 타입
    string, number, bigint, boolean, undefined, symbol, (null)
  • 원시 자료형은 모두 하나의 데이터만을 담고 있다 (데이터의 크기와는 관계 없이 하나의 변수에는 하나의 데이터만을 담을 수 있다)
  • 원시 자료형은 값 자체에 대한 변경이 불가능(immutable)하지만, 변수에 다른 데이터를 할당할 수는 있다.

참조자료형 (Reference Data Type)

  • 자바스크립트에서 원시 자료형이 아닌 모든 것들은 참조 자료형이다.
  • 대표적으로 배열과 객체, 함수가 있다.
  • 이러한 자료형을 자바스크립트에서는 참조 자료형(reference data type) 이라고 부른다.
  • 원시 자료형은 하나의 변수에는 하나의 데이터만을 담을 수 있는데, 참조 자료형은 여러 데이터를 담을 수 있다.
  • 참조 자료형의 데이터는 heap이라고 부르는 별도의 데이터 보관함에 저장되고, 변수에는 데이터가 저장된 메모리 상의 주소가 저장된다.
  • 원시 자료형과는 다르게 heap 안에 저장된 데이터는 원하는 대로 데이터 사이즈를 조정할 수 있다.

출처:
https://blog.naver.com/youngchanmm/222775682756
https://blog.naver.com/crud0626/222405638742
https://velog.io/@ccrjun/%EC%9B%90%EC%8B%9C-%EC%9E%90%EB%A3%8C%ED%98%95-%EC%B0%B8%EC%A1%B0-%EC%9E%90%EB%A3%8C%ED%98%95


(영문 해석)

Types in Java are divided into two categories—primitive types and reference types.

  • The primitive types are boolean, byte, char, short, int, long, float and double. All other types are reference types, so classes, which specify the types of objects, are reference types.
  • A primitive-type variable can store exactly one value of its declared type at a time.
  • Primitive-type instance variables are initialized by default. Variables of types byte, char, short, int, long, float and double are initialized to 0. Variables of type boolean are initialized to false.
  • Reference-type variables store the location of an object in the computer’s memory.

Source: https://www.oreilly.com/library/view/javatm-how-to/9780133813036/ch03lev2sec25.html

profile
어제보다 나은 나의 코딩지식

0개의 댓글