تايب سكريبت

ما هو استخدام (Parameter Decorators) في تايب سكريبت؟

(اسم المعلمة) هو عبارة عن دالة تستخدم للتعديل على سلوك أو خصائص معلمة في دالة أو منشئ من وحدة. يتم وضع الزخيرة @قبل اسم الدالة أو الصف والمعلمة التي يتم تطبيق المزيد من الزخارف @ تستخدم لتضمين متجهات مختلفة ذات صفات خاصة إلى المعلمات.

مثال:

“`
function logParameter(target: Object, key: string, index: number) {
const metadataKey = `__log_${key}_parameters`;
if (Array.isArray(target[metadataKey])) {
target[metadataKey].push(index);
} else {
target[metadataKey] = [index];
}
}

class Example {
greet(@logParameter message: string): string {
return `${message}, world!`;
}
}

const example = new Example();
example.greet(‘Hello’);
“`

في هذا المثال ، تم استخدام المعامل @logParameter لتحديد أن المعلمة message يجب تسجيلها في الشيفرة الداخلية للكلاس Example. يتم تطبيق هذا السلوك الخاص بالمعلمة من خلال استدعاء المعامل عند تعريف الدالة. تحديد @logParameter فقط لن يؤدي إلى أي عمل تلقائيًا ، لكن تعريف الزخيرة يمكن أن يدل على أن المعلمة تم التعامل معها بشكل معين. يمكن للأشخاص الذين يستخدمون الكلاس Example أن يستخدموا هذا الإشارة لاختبار المعاملات المتوقعة والتحقق من أن جميع المعلمات ذات الصلة يتم تسجيلها كما هو محدد في @logParameter.