สามารถใช้เมธอด 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