في ES6، توفر القدرة على تحديد الفئات المجهولة سكرًا نحويًا لإعلانات الفصل. على الرغم من أنه مناسب، إلا أن إنشاء مثيل فوري لهذه الفئات يمكن أن يؤدي إلى عدد كبير من المشكلات.
عندما يتم إنشاء مثيل لفئة مجهولة على الفور، تقوم JavaScript بإنشاء وظيفة منشئ جديدة و كائن النموذج الأولي ديناميكيًا. يؤدي كل تقييم للتعبير إلى وظيفة منشئ ونموذج أولي متميزين.
هذه الممارسة لها عدة عيوب مهمة:
عدم إمكانية إعادة الاستخدام:
على عكس الفئات المسماة، تقوم الفئات المجهولة التي تم إنشاؤها على الفور بإنشاء مُنشئ ونموذج أولي جديد في كل مرة. وهذا يعني أن مثيلات متعددة لن تشترك في نفس النموذج الأولي، مما يؤدي إلى فقدان فوائد وراثة الفئة ومشاركة النموذج الأولي.
مغالطة مفردة:
إذا كان القصد من استخدام هذا النمط هو إنشاء كائن مفرد، فإنه يفشل. تظل وظيفة المنشئ قابلة للوصول، مما يسمح بإنشاء مثيلات متعددة باستخدام كيان جديد.
الإجماع واضح: يجب تجنب الفئات المجهولة التي تم إنشاؤها على الفور. يوفر الكائن الحرفي البسيط بديلاً أكثر كفاءة ومباشرة:
var entity = { name: 'Foo', getName: function() { return this.name; } };
على الرغم من أن نمط الفصل الجديد مقبول في بعض اللغات الأخرى، إلا أنه يتصرف بشكل مختلف في JavaScript. إن الطبيعة الديناميكية لإنشاء فئة JavaScript تمنع المزايا التي تتمتع بها هذه اللغات.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3