프론트엔드 센트럴파크 (☞゚ヮ゚)☞

얕은복사 본문

Javascript

얕은복사

자라나라나무나무나 2022. 4. 28. 17:37

▶ for문을 이용한 방법 

let user = {
    name : "Ho",
    age : 27,
};

let admin = {};

for(let key in user) {
    admin[key] = user[key];
}

admin.name = "park";

console.log(admin.name);
console.log(user.name);

 

▶ Object.assign() 함수

let user = {
    name : "Ho",
    age : 27,
};

// 빈 객체에 user객체를 합쳐서 admin에 넣어라
let admin = Object.assign({}, user);

admin.name = "park";

console.log(admin.name);
console.log(user.name);

 

▶ 전개연산자

let user = {
    name : "Ho",
    age : 27,
};

let admin = { ...user };

 


얕은복사의 문제점

 

▶ 객체 내 또다른 객체가 있다면 복사되지 않는다.

let user = {
    name : "Ho",
    age : 27,
    size :  {
        height : 180,
        weight : 60
    }
};

let obj = Object.assign({}, user);

obj.size.weight++;
--obj.size.height;

console.log(obj.size.weight);
console.log(obj.size.height);
console.log(user.size.weight);
console.log(user.size.height);

 

'Javascript' 카테고리의 다른 글

논리 연산자 &&( and), ||(or), !(not)  (0) 2022.04.29
연산자  (0) 2022.04.29
깊은복사  (0) 2022.04.28
createElement(), createTextNode(), appendChild()  (0) 2022.04.13
Call back 함수  (0) 2022.04.08
Comments