Object와 Reference의 차이

sean k·2022년 11월 8일
0

개념정리

목록 보기
1/7

JavaScript에서 객체(Object)는 여러 속성(properties)을 가지고 있는 데이터 유형입니다. 객체를 생성하면 특정 메모리 슬롯에 저장되고 그 객체의 속성에 접근하고 수정할 수 있습니다. 객체를 변수에 할당하면, 그 변수는 해당 객체를 참조(reference)합니다. reference는 Object가 저장된 위치의 주소를 bit로 가지고 있습니다.

예를 들어, 다음과 같은 객체가 있다고 가정해봅시다.

const person = { 
  name: "John",
  age: 30,
  address: {
    city: "New York",
    state: "NY"
  }
};

여기서 person 변수는 name, age, address와 같은 속성들을 가진 객체를 참조합니다.

JavaScript에서 변수는 값(value)이 아니라 참조(reference)를 저장합니다. 이것은 객체가 변경되었을 때, 그 객체를 참조하는 모든 변수가 변경된 객체를 참조하게 됨을 의미합니다. 예를 들어, 다음과 같은 코드를 생각해보세요.

const person1 = { name: "John" };
const person2 = person1;
person2.name = "Jane";
console.log(person1.name); // 출력 결과: "Jane"

위의 코드에서 person1은 { name: "John" } 객체를 참조합니다. person2는 person1과 같은 객체를 참조하고 있습니다. 따라서 person2.name을 "Jane"으로 변경하면, person1.name도 "Jane"이 됩니다. 이는 person1과 person2가 같은 객체를 참조하기 때문입니다.

즉, 객체는 참조에 의해 복사되고, 참조된 변수들은 같은 객체를 참조합니다. 이것이 JavaScript에서 객체와 참조(reference)의 차이입니다.

0개의 댓글