[javascript] 객체 할당: 동일한 참조 vs 독립적인 객체.

자바스크립트에서 객체를 할당할 때 주의해야 할 점이 있습니다. 이는 동일한 참조독립적인 객체의 개념에 관련된 것입니다.

동일한 참조

동일한 참조는 한 객체를 여러 변수에 할당했을 때, 모든 변수가 같은 객체를 가리키는 것을 말합니다. 이 경우 한 변수를 통해 객체를 변경하면, 다른 변수를 통해서도 변경된 객체를 참조할 수 있습니다.

let originalObj = { name: "Alice" };
let aliasObj = originalObj;

originalObj.name = "Bob";
console.log(aliasObj.name); // "Bob"

독립적인 객체

반면에 독립적인 객체는 같은 내용의 객체를 별도로 생성하여 할당하는 것을 의미합니다. 이 경우 한 객체를 변경해도 다른 객체에는 영향을 주지 않습니다.

let originalObj = { name: "Alice" };
let newObj = { ...originalObj };

originalObj.name = "Bob";
console.log(newObj.name); // "Alice"

이러한 동일한 참조와 독립적인 객체의 개념을 이해하면, 객체를 다룰 때 예상치 못한 문제를 방지할 수 있습니다.

결론

자바스크립트에서 객체를 다룰 때, 객체 할당이 동일한 참조인지 아니면 독립적인 객체인지를 명확히 이해하는 것이 중요합니다. 이를 통해 예기치 못한 버그나 문제를 방지할 수 있습니다.

참조: