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 |