في TypeScript، يمكنك تحقيق هذا الهدف باستخدام مفتاح النوع enum
. يعد enum
إحدى الميزات القوية في TypeScript التي تسمح لك بتعريف مجموعة محددة من القيم المسماة، ويمكنك استخدامها لتحديد القيم المسموح بها لخصائص معينة. في حالتك، يمكنك تعريف enum
لأنواع محددة تُمثل القيم المسموح بها للخاصية “type” في فئة “Foo”.
اليك كيفية تحقيق ذلك:
typescriptenum AllowedTypes {
Foo1 = 'foo1',
Foo2 = 'foo2',
Foo3 = 'foo3',
}
class Foo {
public type: AllowedTypes;
constructor(type: AllowedTypes) {
this.type = type;
}
}
// Exemplar usage:
const instance1 = new Foo(AllowedTypes.Foo1);
const instance2 = new Foo(AllowedTypes.Foo2);
في هذا المثال، تم تعريف enum AllowedTypes
لتحديد القيم المسموح بها لخاصية “type”، وثم تم استخدامها في فئة “Foo”. الآن، عند إنشاء مثيل من الفئة “Foo”، يجب تمرير إحدى القيم المسموح بها للخاصية “type”.
هذا النهج يسمح لك بتحديد القيم المسموح بها بوضوح ويمنع إمكانية استخدام قيم غير صحيحة عند توسيع الفئة.
المزيد من المعلومات
بالتأكيد، دعنا نتعمق أكثر في تفاصيل كيفية استخدام enum
في TypeScript وكيف يمكن أن يكون له تأثير إيجابي على تنظيم الشيفرة والتحقق من الأنواع.
-
تحديد القيم:
enum
يسمح لك بتحديد مجموعة من القيم المسماة بشكل واضح. في المثال السابق، تم تحديد ثلاث قيم لـAllowedTypes
: ‘foo1’، ‘foo2’، و ‘foo3’. هذا يجعل من السهل فهم القيم المسموح بها واستخدامها. -
التحقق من الأنواع:
باستخدامenum
، يقوم TypeScript بتحقق من الأنواع تلقائيًا. هذا يعني أن أي محاولة لاستخدام قيمة غير مسموح بها ستتسبب في خطأ أثناء الترجمة. هذا يقلل من احتمالية وجود أخطاء في وقت التشغيل المتعلقة بالقيم غير المتوقعة. -
تعزيز القراءة:
عند قراءة الشيفرة، يصبح من السهل فهم قيم الـenum
نظرًا لأنها توفر تسميات معبرة بدلاً من قيم عشوائية. يمكنك أن ترىAllowedTypes.Foo1
وتعلم مباشرة أنها تمثل نوعًا محددًا. -
استخدام في قوائم محددة:
يمكنك أيضًا استخدامenum
في قوائم محددة لتحديد مجموعة محددة من الخيارات، مما يسهل التحكم في القيم المسموح بها في سياقات متعددة. -
القراءة والصيانة:
يساعدenum
في جعل الشيفرة أكثر قراءة وصيانة. عند رؤيةenum
في تعريف الفئة، يمكن للمطورين فهم القيم المسموح بها بسهولة وتحديد السياقات التي يمكن فيها استخدامها. -
تطوير الكود:
عندما تحتاج إلى توسيع الشيفرة في المستقبل وإضافة قيم جديدة، يمكنك بسهولة توسيعenum
دون الحاجة إلى البحث في كل مكان تم استخدام القيم.
باستخدام enum
بهذه الطريقة، تجمع TypeScript بين قوة التحقق من الأنواع والقراءة السهلة، مما يساعد في بناء شيفرة أكثر أمانًا وصيانة.