Object.assign()
이 메서드는 하나 이상의 소스 개체를 대상 개체에 복사하는 데 사용됩니다. 소스에서 'get'을 사용하고 대상에서 'Set'을 모두 사용하기 때문에 getter와 setter를 호출합니다. 대상 객체에서 복사한 속성과 값이 있는 대상 객체를 반환합니다. 이 메서드는 null 또는 정의되지 않은 소스 값을 발생시키지 않습니다.
구문
Object.assign(target, ...source objects);
소스 개체가 필요합니다. 및 대상 개체를 매개 변수로 사용하고 소스 개체를 대상 개체에 푸시하고 대상 개체를 표시합니다.
예시-1
다음 예에서 소스 개체의 속성은 "obj1 ", "obj2 " 및 "obj3 "가 대상 개체 "obj에 푸시되었습니다. " 및 대상 개체 출력으로 반환됩니다.
<html> <body> <script> var obj1 = { a: 10, b:20 }; var obj2 = { c: 30, d:40 }; var obj3 = { e: 50 }; var obj = Object.assign({}, obj1, obj2, obj3); document.write(JSON.stringify(obj)); </script> </body> </html>
출력
{"a":10,"b":20,"c":30,"d":40,"e":50}
예시-2
다음 예에는 여러 인스턴스 가 있습니다. 일부 속성 개체의. 이 경우 메소드 Object.assign() 속성의 마지막으로 할당된 값을 취합니다. 예를 들어 3개 개체 모두 "obj1 ", "obj2 " 및 "obj3 속성 'c '는 공통이며 각각 1,3, 0과 같은 값이 할당됩니다. obj3의 속성 'c' 값은 이전에 할당된 다른 값 1 보다 우선합니다. 및 3 . 따라서 출력을 보면 속성 'ㄷ '는 0 값으로 할당됩니다. .
<html> <body> <script> var obj1 = { a: 10, b:20, c:1 }; var obj2 = { b: 30, d:10, c:3 }; var obj3 = { e: 60, d:70, c:0 }; var obj = Object.assign({}, obj1, obj2, obj3); document.write(JSON.stringify(obj)); </script> </body> </html>
출력
{"a":10,"b":30,"c":0,"d":70,"e":60}