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