Avatar ·

كيفية تنفيذ الثوابت في كلاس TypeScript بشكل صحيح؟

مرحبًا بالجميع! أنا أدرس TypeScript وواجهت مشكلة عند محاولة تعريف ثوابت داخل كلاس. أحتاج إلى إنشاء كلاس يخزن بعض القيم الثابتة المرتبطة بهذا الكلاس. على سبيل المثال، أريد تعريف الحد الأقصى لعدد محاولات تسجيل الدخول (MAX_LOGIN_ATTEMPTS = 5) أو حالات الطلب (STATUS_PENDING = 'pending', STATUS_APPROVED = 'approved'). لقد جربت طرقًا مختلفة، لكن لا شيء يعمل كما توقعت: ```typescript class UserManager { // المحاولة 1: خاصية عادية MAX_LOGIN_ATTEMPTS = 5; // هذه خاصية instance وليست خاصة بالكلاس // المحاولة 2: static مع const static const MAX_LOGIN_ATTEMPTS = 5; // خطأ في الصياغة // المحاولة 3: readonly static readonly MAX_LOGIN_ATTEMPTS = 5; // يعمل، لكن يمكن تغييره عبر prototype } ``` المشكلة هي أن: 1. إذا استخدمت خاصية عادية، يتم إنشاؤها لكل instance من الكلاس، وهذا غير فعال. 2. `static const` لا يعمل في TypeScript. 3.