เมธอด 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