variable
변수의 원시 값과 참조값 실행 컨텍스트
값 복사
원시값
원시 값과 참조 값은 저장되는 방식 외에도 변수에서 다른 변수로 값을 복사할 때 도 다르게 동작한다. 원시 값을 다른 변수로 복사할 때는 현재 저장된 값을 새로 생성한 다음 새로운 변수에 복사
num2에도 값 5가 복사된다. 이 값은 복사된 것이므로 num1에 저장된 값과는 완전히 분리
참조값
참조 값
을 변수에서 다른 변수로 복사하면 원래 변수에 들어있던 값이 다른 변수에 복사되기는 마찬가지이다.
차이는 그 값이 객체 자체가 아니라 heap에 저장된 객체를 가리키는 포인터
두 변수는 정확히 같은 객체를 가리킨다
한쪽을 조작하면 다른쪽에도 반영됨
obj1에 Object 인스턴스를 할당, 이 값을 obj2에 복사했으므로 두 변수는 이제 같은 객체를 가리킨다
obj1에 name property를 정의하면 obj2에서도 해당 프로퍼티에 접근 가능
두 변수가 같은 객체를 가리키기 때문이다.
Last updated
Was this helpful?