본문 바로가기

Web/Javascript

Object.assign()

Object를 할당하면 프로퍼티가 연동 됨

한 쪽의 프로퍼티 값을 바꾸면 다른 곳도 바뀜

연동되지 않게 하려면 별도 처리 필요

Object.assign()으로 복사, 연동 방지

Object.assign(target, ...sources)


객체 복제하기

var obj = { a: 1 };
var copy = Object.assign({}, obj);
console.log(copy); // { a: 1 }


객체 병합하기

var o1 = { a: 1 };
var o2 = { b: 2 };
var o3 = { c: 3 };

var obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1);  // { a: 1, b: 2, c: 3 }, 타겟 오브젝트, 그 자체도 변화합니다.


같은 프로퍼티를 가지고 있는 객체 병합하기

var o1 = { a: 1, b: 1, c: 1 };
var o2 = { b: 2, c: 2 };
var o3 = { c: 3 };

var obj = Object.assign({}, o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }


'Web > Javascript' 카테고리의 다른 글

함수  (0) 2018.01.11
DATA TYPES  (0) 2018.01.11
형 변환  (0) 2017.03.21
렉시컬 환경(Lexical Environment)  (0) 2017.03.14
실행 콘텍스트  (0) 2017.03.14