"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل تعتبر الفصول المجهولة التي تم إنشاء مثيل لها على الفور في ES6 فكرة سيئة؟

هل تعتبر الفصول المجهولة التي تم إنشاء مثيل لها على الفور في ES6 فكرة سيئة؟

تم النشر بتاريخ 2024-11-09
تصفح:322

Are Immediately Instantiated Anonymous Classes in ES6 a Bad Idea?

الفئات المجهولة التي تم إنشاؤها على الفور: وصفة للكوارث

في ES6، توفر القدرة على تحديد الفئات المجهولة سكرًا نحويًا لإعلانات الفصل. على الرغم من أنه مناسب، إلا أن إنشاء مثيل فوري لهذه الفئات يمكن أن يؤدي إلى عدد كبير من المشكلات.

ماذا يحدث خلف الكواليس؟

عندما يتم إنشاء مثيل لفئة مجهولة على الفور، تقوم JavaScript بإنشاء وظيفة منشئ جديدة و كائن النموذج الأولي ديناميكيًا. يؤدي كل تقييم للتعبير إلى وظيفة منشئ ونموذج أولي متميزين.

عيوب إنشاء مثيل فوري

هذه الممارسة لها عدة عيوب مهمة:

عدم إمكانية إعادة الاستخدام:
على عكس الفئات المسماة، تقوم الفئات المجهولة التي تم إنشاؤها على الفور بإنشاء مُنشئ ونموذج أولي جديد في كل مرة. وهذا يعني أن مثيلات متعددة لن تشترك في نفس النموذج الأولي، مما يؤدي إلى فقدان فوائد وراثة الفئة ومشاركة النموذج الأولي.

مغالطة مفردة:
إذا كان القصد من استخدام هذا النمط هو إنشاء كائن مفرد، فإنه يفشل. تظل وظيفة المنشئ قابلة للوصول، مما يسمح بإنشاء مثيلات متعددة باستخدام كيان جديد.

تجنب بأي ثمن

الإجماع واضح: يجب تجنب الفئات المجهولة التي تم إنشاؤها على الفور. يوفر الكائن الحرفي البسيط بديلاً أكثر كفاءة ومباشرة:

var entity = {
  name: 'Foo',
  getName: function() { return this.name; }
};

تحذير: اعتبارات عبر اللغات

على الرغم من أن نمط الفصل الجديد مقبول في بعض اللغات الأخرى، إلا أنه يتصرف بشكل مختلف في JavaScript. إن الطبيعة الديناميكية لإنشاء فئة JavaScript تمنع المزايا التي تتمتع بها هذه اللغات.

بيان الافراج أعيد طبع هذه المقالة على: 1729392316 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3