JavaScript

[JavaScript][기초] Object Type 깊은 복사/깊은 비교

개발새발 2024. 6. 30. 12:26
반응형

Object Type은 Primitive Type과 달리 참조에 의해(by reference) 저장되고 복사 된다.

따라서 객체를 복사하고 싶을때에는 깊은 복사를 해줘야 한다.

 

// 객체 얕은 복사
let so1 = { name: "DY" };
let so2 = so1;

// 객체 깊은 복사
let do1 = { name: "DY" };
let do2 = { ...do1 };

// 객체간의 비교는 기본적으로 참조값을 기준으로 한다.
let o1 = { name: "DY" };
let o2 = o1;
let o3 = { ...o1 };

// 얕은 비교
console.log(o1 === o2); // true
console.log(o1 === o3); // false

// 깊은 비교
console.log(JSON.stringify(o1) === JSON.stringify(o3)); // true

// 배열과 함수도 객체이다.
반응형