Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 Object.assign()?

<시간/>

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}