สามารถใช้เมธอด Object.assign() เพื่อคัดลอกค่าของคุณสมบัติทั้งหมดของอ็อบเจ็กต์ (ระบุได้เท่านั้น) จากออบเจ็กต์ต้นทางหนึ่งรายการขึ้นไปไปยังออบเจ็กต์เป้าหมาย
ตัวอย่างเช่น ในการคัดลอกคุณสมบัติทั้งหมดของวัตถุต้นทางไปยังวัตถุเป้าหมาย คุณสามารถใช้รหัสต่อไปนี้ -
ตัวอย่าง
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); ผลลัพธ์
{ a: 1, b: 4, c: 5 }
{ a: 1, b: 4, c: 5 }
true
{ b: 4, c: 5 } หมายเหตุ −
-
sourceObj ไม่ได้เปลี่ยนแปลง
-
returnTarget และ targetObj เหมือนกัน
-
เมธอด Object.assign() จะคัดลอกเฉพาะคุณสมบัติที่นับได้และเป็นเจ้าของจากออบเจกต์ต้นทางไปยังอ็อบเจ็กต์เป้าหมาย โดยจะใช้ [[Get]] บนซอร์สและ [[Set]] ที่เป้าหมาย ดังนั้นจะเรียกใช้ getters และ setters