반응형
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
// 배열과 함수도 객체이다.
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript][기초] 배열 요소 조작 메소드 (push, pop, shift, unshift, slice, concat) (1) | 2024.07.14 |
---|---|
[JavaScript][기초] 배열, 객체 순회 for of, for in (0) | 2024.06.30 |
[JavaScript][기초] Spread / Rest (...) (0) | 2024.06.30 |
[JavaScript][기초] 배열, 객체의 구조분해 할당 (0) | 2024.06.30 |
[JavaScript][기초] Truthy & Falsy (0) | 2024.06.23 |