몽땅뚝딱 개발자

[Javascript] Object.assign() 본문

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

 

 


개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.

 

Comments