5.7 JSON 객체의 변화 감지하기
스벨트의 JSON 객체 감지를 이해하기 위해서 자바스크립트에서 JSON 객체 복사가 어떻게 일어나는지 알아보고, 스벨트에서는 코드에 어떻게 적용하여야 반응성이 잘 동작하는지 알아보겠습니다.
우선 자바스크립트에서 JSON 객체를 복사할 때 어떤 일이 일어나는지 알아보겠습니다.
자바스크립트에서 JSON 객체를 신규 객체로 복사하면 원본 객체의 값이 복사되어 신규 객체로 저장되지 않고 신규 객체에는 원본 객체의 참조(주소)만 복사됩니다. 따라서 원본 객체의 값이 수정되었을 때 복사된 객체에서도 똑같이 값이 수정되는 효과가 있습니다. 코드를 통해서 확인해보겠습니다.
순수 자바스크립트 코드
let man = { age: "10", name: { first: "승현", last: "박"} }; let name = man.name;
우선 원본 객체로 man 객체를 생성했습니다. man 객체는 하위로 age, name이란 키를, age는 10이란 값을, 하위 객체 name은 다시 하위에 first, last의 키와 값을 갖는 객체를 가집니다.