Object.assign (ECMAScripy 2015)
- 얕은 복사(shallow copy)로 두 오브젝트를 병합할 수 있다.
- 정적 메소드로 인수(argument)로 받은 객체들의 모든 열거 가능한 속성(property)을 대상 객체에 복사한다.
- 첫 번째로 들어오는 인자(argument)로 들어오는 객체에 두 번째 인자로 들어오는 객체의 프로퍼티들을 차례대로 덮어쓰기하여 반환하는 메소드이다.
- 출처값이 객체에 대한 참조인 경우 참조값만 복사한다.
구문
Object.assign(target, ...sources)
* @param target 복사 할 대상 개체
* @param source 속성을 복사 할 원본 개체
spread operator와 object.assign 차이점
//spread operator
const a = { name: 'jun' };
const b = { ...a, age: 20 };
console.log(a === b) //false
//object assign
const a2 = { name: 'jun' };
const b2 = Object.assign(a2, { age: 27 });
console.log(a2 === b2) //true
Object.assign을 사용하면 기존 객체를 '변경'할 수 있다.
'웹 > JavaScript' 카테고리의 다른 글
자바스크립트 변수, 상수, 불변값, 불변성 (0) | 2022.11.13 |
---|---|
ES6. setPrototypeOf (0) | 2021.01.21 |
ES6. Class 클래스 (0) | 2021.01.19 |
ES6. rest parameter, spread operator 차이 (0) | 2021.01.18 |
ES6. 화살표 함수 (Arrow Function) (0) | 2021.01.17 |
댓글