Decorators في TypeScript
اكتشف كيف تضيف Decorators بيانات وصفية إلى شيفرتك وتبسّط التطوير في أطر مثل Angular
Decorators في TypeScript درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 3 دروس في المجموع.
مقدمة إلى Decorators
مقدمة إلى Decorators
إن Decorators في TypeScript هي دوال خاصة تتيح لك إضافة بيانات وصفية أو تعديل سلوك الأصناف والدوال والخصائص.
تُستخدم غالبًا في أطر عمل مثل Angular لتبسيط عملية التطوير.

كيف تعمل Decorators
كيف تعمل Decorators
الـ decorator هو دالة تُطبَّق على صنف أو أحد أعضائه (مثل الدوال والخصائص وغيرهما).
على سبيل المثال، تُعد @Component في Angular decorator يضيف بيانات وصفية إلى صنف لتعريفه بوصفه مكوّنًا.
استخدام Decorators المضمنة
استخدام Decorators المضمنة
يحتوي TypeScript على Decorators مضمنة، مثل:
@readonly: تجعل الخاصية للقراءة فقط.@enumerable: تتحكم في إمكانية تعداد الخاصية.
تساعد هذه الـ Decorators على تعديل سلوك الخصائص أو الدوال مباشرةً.
إنشاء decorator بسيط
إنشاء decorator بسيط
يمكنك إنشاء decorator خاص بك لتسجيل الرسائل أو إضافة وظائف:
طبّقه على خاصية: @Log.
function Log(target: any, propertyName: string) {
console.log(`Property ${propertyName} was accessed`);
}Decorators الخاصة بالأصناف
Decorators الخاصة بالأصناف
تُستخدم Decorators الخاصة بالأصناف لتعديل سلوك صنف كامل أو تحسينه:
function SimpleDecorator(constructor: Function) {
console.log(`${constructor.name} is decorated`);
}
طبّقه على صنف: @SimpleDecorator.
function SimpleDecorator(constructor: Function) {
console.log(`${constructor.name} is decorated`);
}Decorators الخاصة بالدوال
Decorators الخاصة بالدوال
تعدّل Decorators الخاصة بالدوال سلوك إحدى دوال الصنف:
استخدمها مع دالة: @LogMethod.
function LogMethod(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
console.log(`Method ${propertyKey} was called`);
}استخدام Decorators في Angular
استخدام Decorators في Angular
يعتمد Angular بشكل كبير على Decorators لإضافة بيانات وصفية إلى مكوّناته:
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent {}
يعرّف decorator @Component الصنف بوصفه مكوّنًا في Angular.
أفضل الممارسات لاستخدام Decorators
أفضل الممارسات لاستخدام Decorators
عند استخدام Decorators:
- احرص على أن تكون بسيطة ومركزة.
- استخدمها للبيانات الوصفية، وليس للمنطق المعقد.
- استفد من Decorators المضمنة كلما أمكن لتوفير الوقت.
تهانينا!
تهانينا!
لقد تعلمت كيف تعمل Decorators في TypeScript وكيف يمكن استخدامها لتعديل تعليماتك البرمجية أو تحسينها. واصل تجربة Decorators لإتقان استخدامها في مشاريعك!

الأسئلة الشائعة
هل درس «Decorators في TypeScript» مجاني؟
نعم — نص درس «Decorators في TypeScript» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 3 دروس في المجموع.
ماذا ستتعلم في «Decorators في TypeScript»؟
اكتشف كيف تضيف Decorators بيانات وصفية إلى شيفرتك وتبسّط التطوير في أطر مثل Angular تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟
لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «Decorators في TypeScript»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟
نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- استنتاج الأنواع والكتابة حسب السياق
- Decorators في TypeScript
- الوحدات ومساحات الأسماء في TypeScript