Emad Saif نشر 7 يونيو 2022 أرسل تقرير نشر 7 يونيو 2022 في لغات البرمجة المعروفة يمكن عمل صنف مجرد abstract class بحيث يُستخدم في الوراثة ولا يمكن عمل نسخ جديدة منه instances، وحاولت أن أقوم بعمل صنف مجرد في JavaScript بأكثر من طريقة ولكن لم أنجح. هل تدعم لغة JavaScript عمل أصناف مجردة من الأساس أم لا؟ 1 اقتباس
1 سامح أشرف نشر 7 يونيو 2022 أرسل تقرير نشر 7 يونيو 2022 في إصدار جافاسكريبت ECMAScript 2015 (المعروفة بـ ES6) تم دعم صيغة الصنف class-syntax لعمل أصناف جديدة ولكن لم يتم تقديم أي صيغة لعمل أصناف مجردة، ولكن بالرغم من ذلك إلا أنه يمكن عمل أصناف مجرد بمساعدة الكلمة المفتاحية new على النحو التالي: class AbstractUser { constructor () { if (new.target === AbstractUser) throw TypeError("Cannot instantiate abstract class AbstractUser"); } } وفي الدالة البانية يمكن إستخدام نفس الطريقة كما يلي: function AbstractUser() { if (this.constructor === AbstractUser) throw new Error("Cannot instantiate abstract class AbstractUser"); } وعند محاولة عمل نسخة جديدة من الصنف AbstractUser سيظهر خطأ: new AbstractUser(); // Error: Uncaught TypeError: Cannot instantiate abstract class AbstractUser في حالة كنت تستعمل TypeScript فيمكنك عمل صنف مجرد abstract class بشكل بسيط مثل أغلب لغات البرمجة المعروفة من خلال الكلمة المفتاحية abstract على النحو التالي: abstract class AbstractUser { name: string; constructor(name: string) { this.name = name; } } 1 اقتباس
السؤال
Emad Saif
في لغات البرمجة المعروفة يمكن عمل صنف مجرد abstract class بحيث يُستخدم في الوراثة ولا يمكن عمل نسخ جديدة منه instances، وحاولت أن أقوم بعمل صنف مجرد في JavaScript بأكثر من طريقة ولكن لم أنجح.
هل تدعم لغة JavaScript عمل أصناف مجردة من الأساس أم لا؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.