데이터 타입

jb kim·2022년 4월 8일
0

Javascript

목록 보기
3/11

1. 원시 타입(Primitive Type)

string, number, boolean, undefined, null, symbol(ES6)

2. 참조/주소 타입(Reference Type)

Object(array, function, map, set 등 primitive 아닌것 )

공통점

두 가지 모두 선언(declaration)과 할당(assignment)의 과정을 거친다.

선언 : 변수와 주소값을 매칭
할당 : 변수의 주소값에 값을 할당.

차이점

두 자료형의 차이는 할당 과정에 있다.

Primitive Type : 값(value)을 그대로 할당
Reference Type : 값이 저장된 주소값(address = 참조 위치)을 할당

// 원시타입 PRIMITIVE

// String
const name = 'John Doe';
// Number
const age = 45;
// Boolean
const hasKids = true;
// Null
const car = null;
// Undefined
let test;

// Symbol
const sym = Symbol();


// 참조타입 REFERENCE TYPES - Objects
// Array
const hobbies = ['movies', 'music'];
// Object literal
const address = {
  city: 'Boston',
  state: 'MA'
}
const today = new Date();
console.log(today);
console.log(typeof today);

원시 타입(Primitive Type)

  1. 고정된 저장공간을 차지한다
  2. 할당 시 원시 타입의 '값' 그 자체만 복사한다.
  3. 다른 변수에 복사 후 변경해도, 기존 변수에 담긴 데이터에 영향이 없다.

참조 타입(Reference Type)

  1. 동적인 저장공간을 가진다 (heap)
  2. 할당 시 참조 타입의 '주소' 를 복사한다.
  3. 다른 변수에 복사 후 변경하면, 기존 변수에 담긴 데이터에 영향이 생긴다. (주소를 통해 heap에 저장된 데이터에 접근하기 때문에)
profile
픽서

0개의 댓글