원시형 데이터

  • 데이터가 저장되어 있는 메모리(Stack)내에 존재하는 값 자체의 변경은 불가능하다.(Immutable)
  • 변수에 할당함으로써 복사본을 이용한다.
  • 함수의 Parameter(매개변수) 또는 Argument(전달인자)로 사용될 경우에도 값이 복사되어 전달되므로 입력된 데이터의 원본에는 변화가 일어나지 않는다. : Call by Value

참조형 데이터

  • 자바스크립트에서는 원시형 데이터가 아닌 모든 자료형은 Object이다.
  • 배열, 함수, 객체가 대표적이다.
  • 데이터 자체는 별도의 메모리(Heap)에 저장되고, Object가 변수에 할당되면 이 메모리의 주소가 변수에 저장된다.
  • 주소가 저장된 변수는 원시형 데이터의 값이 저장되는 Stack에 저장된다.
  • 함수의 Parameter(매개변수) 또는 Argument(전달인자)로 사용될 경우 값이 복사되는 것이 아니라 실제 값이 저장되어 있는 주소가 전달되므로 입력된 데이터 원본에 접근하여 변화가 일어난다. : Call by Reference

0개의 댓글