primitive data types
number, string , boolean , undefined , null ,bigint, symbol
let x = 2; let y = x; y = 3;
변수 x 에 2를 할당
변수 x를 변수 y에 할당을 해서 , x의 값이었던 2를 복사하여 y에 할당
변수 y에 3을 할당
변수 x의 값은 여전히 2이다.
reference data types
array, object, function
let x = { num:3 } let y = x; y.num = 2;
변수 y에 변수 x를 할당을 했을때 참조자료형이기 때문에 값이아닌 x의 값의 주소를 y에 할당한다.
y.num = 2 로 같은 주소에 있던 값이 변경되었기 때문에 x.num도 2가 된다.