Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จะทำซ้ำคุณสมบัติของวัตถุ Javascript ในวัตถุอื่นได้อย่างไร


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