JavaScript 참조에 의한 객체 복사

이건선·2023년 2월 14일
0

Object.assign

Object.assign(dest, [src1, src2, src3...])

첫 번째 인수 dest는 목표로 하는 객체
이어지는 인수 src1, ..., srcN는 복사하고자 하는 객체다. ...은 필요에 따라 얼마든지 많은 객체를 인수로 사용할 수 있다는 것을 나타낸다.
객체 src1, ..., srcN의 프로퍼티를 dest에 복사한다. dest를 제외한 인수(객체)의 프로퍼티 전부가 첫 번째 인수(객체)로 복사된다.
마지막으로 dest를 반환

let user = { name: "John" };

let permissions1 = { canView: true };
let permissions2 = { canEdit: true };

// permissions1과 permissions2의 프로퍼티를 user로 복사한다.
Object.assign(user, permissions1, permissions2);

// now user = { name: "John", canView: true, canEdit: true }

assign 메서드를 사용해 여러 객체를 하나로 병합하는 예시


let user = { name: "John" };

Object.assign(user, { name: "Pete" });

alert(user.name); // user = { name: "Pete" }

목표 객체(user)에 동일한 이름을 가진 프로퍼티가 있는 경우엔 기존 값이 덮어씌워진다.


let user = {
  name: "John",
  age: 30
};

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

예시를 실행하면 user에 있는 모든 프로퍼티가 빈 배열에 복사되고 변수에 할당된다.


profile
멋지게 기록하자

0개의 댓글

관련 채용 정보