Development/Javascript
[Javascript] Object.assign()
레오나르도 다빈츠
2021. 12. 18. 17:49
◽ Object.assign()
// target: 목표 객체. 출처 객체의 속성을 복사해 반영한 후 반환할 객체
// sources: 출처 객체. 목표 객체에 반영하고자 하는 속성들을 갖고 있는 객체들
Object.assign(target, ...sources)
◽ Object.assign() 사용하기
예제 1. 목표 객체의 속성 중 출처 객체와 동일한 키를 갖는 속성의 경우, 그 속성 값은 출처 객체의 속성 값으로 덮어쓴다.
const target = { a: 1, b: 2, c: 2 };
const source = { b: 4, c: {'name': 2, 'idx': 4} };
const returnedTarget = Object.assign(target, source);
console.log(target); // { a: 1, b: 4, c: Object { name: 2, idx: 4 } }
console.log(returnedTarget); // { a: 1, b: 4, c: Object { name: 2, idx: 4 } }
예제 2. 목표객체 자체가 변경된다.
const o1 = { a: 1 };
const o2 = { b: 2 };
const o3 = { c: 3 };
const obj = Object.assign(o1, o2, o3);
console.log(obj); // { a: 1, b: 2, c: 3 }
console.log(o1); // { a: 1, b: 2, c: 3 }, 목표 객체 자체가 변경됨.
예제 3. 문자열의 경우
const v1 = 'abc';
const obj = Object.assign({}, v1, 'defghi');
console.log(obj); // { 0: "d", 1: "e", 2: "f", 3: "g", 4: "h", 5: "i" }
◽ 브라우저 호환성
ie를 제외하고 모두 호환된다.
출처
Object.assign() - JavaScript | MDN
Object.assign() 메서드는 출처 객체들의 모든 열거 가능한 자체 속성을 복사해 대상 객체에 붙여넣습니다. 그 후 대상 객체를 반환합니다.
developer.mozilla.org
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.