원시값과 참조값

준호·2020년 10월 3일
0

원시값과 참조값

자바스크립트에서 값은 원시값과 참조값으로 나뉜다

원시값

원시값은 단순한 데이터이다.
변수에 할당 될 때 메모리 상에 고정된 크기로 저장되고, 해당 변수가 원시 데이터 값을 보관한다.

변수에 저장된 실제 값을 직접 접근한다.

ex : Number, String , Boolean, null, undefined, BigInt, Symbol

var x = 100;
var y = x;
x = 99;
y; // 100;

각 변수간의 원시값을 복사할 경우 데이터의 값이 복사된다.

참조값

여러 값으로 구성되는 메모리에 저장된 객체이다.
크기가 정해져있지 않고, 변수에 할당 될 때 값이 직접 해당 변수에 저장될수 없으며, 변수에는 데이터의 대한 참조만 저장된다.
자바스크립트는 메모리 위치에 직접 접근하는 것을 허용하지 않기에 객체의 메모리 공간을 직접 조작하는 것은 불가능하다.

객체를 조작할 때는 객체 자체가 아니라 해당 객체에 대한 참조를 조작하는 것이다.

ex : Object, Array, Function

var x = {const: 100};
var y = x;
x.count = 99;
y.count; // 99

x와 y는 동일한 참조를 담고 있으며, 따라서 동일한 데이터를 가리킨다.

profile
빠르게 발전중인 프론트엔드 개발자

0개의 댓글