استرداد الخصائص الموروثة غير القابلة للإحصاء
في JavaScript، يعتمد الوصول إلى خصائص الكائن على طرق مختلفة مصممة خصيصًا لمتطلبات محددة. ومع ذلك، عندما يتعلق الأمر بالحصول على خصائص غير قابلة للإحصاء وغير مملوكة، فلا توجد آلية واضحة.
لمعالجة هذا الأمر، يمكن استخدام وظيفة مخصصة تجمع بين Object.getOwnPropertyNames() للحصول على خصائص غير قابلة للإحصاء وينتقل إلى سلسلة النماذج الأولية لاسترداد النماذج الموروثة.
function getAllProperties(obj) { var allProps = [], curr = obj; do { var props = Object.getOwnPropertyNames(curr); props.forEach(function(prop) { if (allProps.indexOf(prop) === -1) allProps.push(prop); }); } while (curr = Object.getPrototypeOf(curr)); return allProps; } console.log(getAllProperties([1, 2, 3]));
في هذا المثال، [1, 2, 3] هي خاصية موروثة، وتقوم الدالة باستعادتها بنجاح دون أن ترث حالة التعداد الخاصة بها. يمكّن هذا الأسلوب المطورين من الوصول إلى الخصائص الموروثة غير القابلة للإحصاء، وهو أمر بالغ الأهمية لسيناريوهات معينة تتضمن نماذج أولية ووراثة الكائنات.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3