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

Làm thế nào để nhân bản các thuộc tính đối tượng Javascript trong một đối tượng khác?

Phương thức Object.assign () có thể được sử dụng để sao chép các giá trị của tất cả các thuộc tính riêng của đối tượng (chỉ có thể liệt kê) từ một hoặc nhiều đối tượng nguồn sang đối tượng đích.

Ví dụ:để sao chép tất cả các thuộc tính của một đối tượng nguồn vào một đối tượng đích, bạn có thể sử dụng đoạn mã sau -

Ví dụ

const targetObj = { a: 1, b: 2 };
const sourceObj = { b: 4, c: 5 };
const returnedTarget = Object.assign(targetObj, sourceObj);
console.log(targetObj);
console.log(returnedTarget);
console.log(returnedTarget === targetObj);
console.log(sourceObj);

Đầu ra

{ a: 1, b: 4, c: 5 }
{ a: 1, b: 4, c: 5 }
true
{ b: 4, c: 5 }

Lưu ý -

  • sourceObj không thay đổi.

  • returnTarget và targetObj giống nhau.

  • Phương thức Object.assign () chỉ sao chép các thuộc tính có thể liệt kê và sở hữu từ một đối tượng nguồn sang một đối tượng đích. Nó sử dụng [[Get]] trên nguồn và [[Set]] trên đích, vì vậy nó sẽ gọi getters và setters.