있는 그대로 저장되는 데이터를 표현
let one = 1;
let two = 2;
one = two;
one = 3;
console.log(two); // 2
값을 서로 할당했더라도 서로가 가지고 있던 값은 변하지 않는다
자바스크립트 객체 (원시타입 빼고 전부 참조 타입)
let objOne = {one : 1};
let objTwo = {two : 2};
objTwo = objOne; 같은 주소를 바라보게 된다 한 주소의 값을 두 가지 객체가 꺼내서 쓰고 있음
objTwo.one = 3; 한 객체가 바뀌었으니 같은 주소를 공유하고 있던 객체 값도 바뀐다
console.log(objOne);
// {one : 3}
console.log(objTwo);
// {one : 3}
원시 타입을 객체처럼 편리하게 사용하도록 도와준다
원시타입도 참조타입처럼 쓸 수 있다
let name="bit";
console.log(name.concat("coin")); // "bitcoin"
이 과정이 자스 내부에서 실제로 어떻게 이루어지고 있는 거냐면
let name="bit";
let temp = new String(name); 자스가 임시로 만든 변수가
console.log(temp.concat("coin")); 실행되면
temp = null; 파괴된다