본문 바로가기

JAVASCRIPT

참조(Reference)

참조(Reference)

원시타입

모든 값은 변경 불가능한 값 (immutable value), 이런 성질을 불변성(immutability)이라고 함

  • Boolean
  • Number
  • String
  • Null
  • Undefined
  • Symbol

참조 타입

객체가 컴퓨터 메모리 상에서 어디에 저장되었는지를 가리키는 값. 객체 자체의 내용을 변경할 수 있음. 따라서 객체는 가변(mutable)

  • Object

객체의 가변성을 불변성으로 바꾸기

Object.freeze

객체를 얼려서 속성의 추가/변경/삭제를 막지만 중첩된 객체까지 얼리지 못함

const a = {prop:1};

Object.freeze(a);

// 모두 무시됨
a.prop = 2;

console.log(a); // {prop:1}

라이브러리

객체를 불면인 것처럼 다룰 수 있는 방법 제공, 내용이 달라지면 참조 역시 달라지게 되어 객체의 내용이 변경되었는지를 확인하는 작업이 아주 쉬워짐 링크.

 

역참조(dereference)

참조를 통해 메모리에 저장되어 있는 객체에 접근해서 해당 객체의 속성을 읽음

const obj = {prop: 1};
obj.prop; // `obj`를 통해 역참조된 객체의 속성을 읽음

래퍼 객체 (Wrapper Object)

원시 타입의 값은 객체가 아님에도 불구하고, 원시 타입에 점 표기법을 써서 메소드를 호출하거나 속성을 읽어올 수 있는데,
이는 JavaScript가 래퍼 객체(wrapper object)라는 기능을 제공.

  • String
  • Number
  • Boolean
  • Symbol

 

'JAVASCRIPT' 카테고리의 다른 글

연산자  (0) 2020.07.29
함수형 프로그래밍  (0) 2020.07.28
객체  (0) 2019.07.25
제어 구문  (0) 2019.07.23
배열  (0) 2019.07.23