AzLearn

المعاملات الاختيارية والافتراضية

Optional and Default Parameters

مفهوم ~17 دقيقة

المعاملات الاختيارية والافتراضية — Optional and Default Parameters

المعامل الاختياري يكتب بعلامة ?: name?: string. هذا يعني أن القيمة قد تكون string أو undefined. لذلك داخل الدالة يجب أن تتعامل مع غيابها. أما القيمة الافتراضية مثل name = "Guest" فهي تجعل الدالة تستقبل قيمة اختيارية لكنها تملك قيمة مضمونة داخل الجسم.

استخدم optional عندما يكون الغياب له معنى حقيقي. واستخدم default عندما تريد سلوكاً افتراضياً واضحاً. لا تجعل كل شيء اختيارياً لأن ذلك ينقل التعقيد إلى داخل الدالة ويجعل العقد أضعف.

مثال عملي

index.ts

هنا name وexcited لهما قيم افتراضية، لذلك الجسم لا يحتاج فحص undefined.

optional لا يعني nullable

name?: string يعني أن الخاصية قد تكون غائبة أو undefined. إذا أردت السماح بـnull صراحة، اكتب string | null. لا تخلط المعنيين.

تحدي — Challenge