let message = "hello";
let phrase = message;
let user = {name : "John"};
// 참조값을 복사함
let admin = user;
→ 객체에 접근하거나 객체를 조작할 땐 여러 변수 사용
let user ={
name: "John"
}
let admin = user;
admin.name = "Pete"; // admin 참조 값에 의해 변경됨
console.log(admin); // Pete | user 참조 값을 이용해 변경사항 확인
let a = {}
let b = {}
console.log(a == b) //false
let user = {
name: "John",
age: 30
};
// 새로운 빈 객체
let clone = {};
// 빈 객체에 user 프로퍼티 전부를 복사해 넣습니다.
for (let key in user) {
clone[key] = user[key];
}
// 이제 clone은 완전히 독립적인 복제본이 되었습니다.
clone.name = "Pete"; // clone의 데이터를 변경합니다.
console.log( user.name ); //John
console.log( clone ); // { name: 'pete', age: 30 }
Object.assign(dest, [src1, src2, src3...])
let users = { name: "John"};
let permission1 = { canView: true};
let permission2 = { canEdit : true};
//permission1,2 프로퍼티 suer로 복사
Object.assign(users, permission1, permission2);
console.log(users); // { name: 'John', canView: true, canEdit: true }
let user = {
name: "John",
age: 30
};
let clones = Object.assign({}, user);
console.log(clones); //{ name: 'John', age: 30 }
let user = {
name: "John",
sizes: {
height: 182,
width: 50
}
};
Object.assign
let cclone = Object.assign({}, user);
console.log(user.sizes === cclone.size)
user.sizes.width++;
console.log(cclone.sizes.width);