Computer >> Máy Tính >  >> Lập trình >> Javascript

Object.assign () trong JavaScript?

Object.assign ()

Phương pháp này được sử dụng để sao chép một hoặc nhiều đối tượng nguồn sang đối tượng đích . Nó gọi ra getters và setters vì nó sử dụng cả 'get' trên nguồn và 'Set' trên mục tiêu. Nó trả về đối tượng đích có các thuộc tính và giá trị được sao chép từ đối tượng đích. Phương thức này không đưa ra các giá trị nguồn rỗng hoặc không xác định.

cú pháp

Object.assign(target, ...source objects);

Phải sử dụng đối tượng nguồn và một đối tượng đích làm tham số và đẩy các đối tượng nguồn vào đối tượng đích và hiển thị đối tượng đích.

Ví dụ-1

Trong ví dụ sau, các thuộc tính từ đối tượng nguồn " obj1 "," obj2 "và" obj3 "đã được đẩy vào một đối tượng đích" obj "và đối tượng mục tiêu được trả về dưới dạng đầu ra.

<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>

Đầu ra

{"a":10,"b":20,"c":30,"d":40,"e":50}


Ví dụ-2

Trong ví dụ sau, có nhiều trường hợp của một số thuộc tính của các đối tượng. Trong trường hợp này, phương thức Object.assign () lấy giá trị được ấn định cuối cùng của một thuộc tính. Ví dụ:trong cả 3 đối tượng " obj1 "," obj2 "và" obj3 tài sản ' c 'là các giá trị phổ biến và được gán, chẳng hạn như 1,3 và 0 tương ứng. Giá trị của thuộc tính 'c' trong obj3 ghi đè các giá trị khác được chỉ định trước đó 1 3 . Vì vậy, nếu chúng ta xem xét đầu ra, thuộc tính ' c 'được chỉ định với giá trị 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>

Đầu ra

{"a":10,"b":30,"c":0,"d":70,"e":60}