نوع الإرجاع 'void'
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 24 من 73.
عندما تقوم دالة بتنفيذ إجراء ما ولكنها لا تعيد أي شيء ذي معنى، فإنك تستخدم نوع الإرجاع void للإشارة صراحةً إلى هذا القصد.
يمثل النوع void غياب قيمة الإرجاع. عادةً ما تستخدم الدوال التي تسجل الرسائل، أو تُحدّث المتغيرات، أو تؤدي تأثيرات جانبية النوع void كنوع إرجاع لها:
function logMessage(message: string): void {
console.log(message);
}
function updateCounter(): void {
counter++;
}بينما يمكن لـ TypeScript غالباً استنتاج أن الدالة تعيد void، فإن إضافة تعليق : void بشكل صريح تجعل كودك أكثر قابلية للقراءة وتوضح نيتك للمطورين الآخرين بشكل واضح.
التحدي
سهلقم بإنشاء دالة باسم displayWelcome تأخذ معاملًا userName من نوع string ولديها نوع إرجاع صريح void. يجب أن تقوم الدالة بطباعة رسالة ترحيب إلى وحدة التحكم (console) بالتنسيق التالي: "Welcome to our application, [userName]!"
قم بإنشاء دالة أخرى باسم logError تأخذ معاملًا errorMessage من نوع string ولديها نوع إرجاع صريح void. يجب أن تقوم الدالة بطباعة رسالة خطأ إلى وحدة التحكم بالتنسيق التالي: "ERROR: [errorMessage]"
قم بإنشاء دالة ثالثة باسم processData لا تأخذ أي معاملات ولديها نوع إرجاع صريح void. يجب أن تقوم الدالة بطباعة الرسالة "Processing data..." إلى وحدة التحكم، ثم طباعة "Data processing complete." في سطر جديد.
اختبر دوالك عن طريق استدعائها بالترتيب التالي:
- استدعِ
displayWelcomeمع"Alice" - استدعِ
processDataبدون أي وسائط (arguments) - استدعِ
logErrorمع"Invalid input detected" - استدعِ
displayWelcomeمع"Bob"
يجب أن ينتج عن كل استدعاء دالة مخرجات في أسطر منفصلة بالترتيب المحدد أعلاه.
جرّب بنفسك
// TODO: اكتب كودك هنا
// أنشئ دالة displayWelcome التي تأخذ userName (string) ولا تعيد أي قيمة (void)
// أنشئ دالة logError التي تأخذ errorMessage (string) ولا تعيد أي قيمة (void)
// أنشئ دالة processData التي لا تأخذ أي بارامترات ولا تعيد أي قيمة (void)
// TODO: استدعِ الدوال بالترتيب المحدد:
// 1. displayWelcome مع "Alice"
// 2. processData بدون أي وسائط
// 3. logError مع "Invalid input detected"
// 4. displayWelcome مع "Bob"يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى TypeScript
1البداية مع TS
ما هي TypeScript؟لماذا نستخدم TypeScript؟أول كود TypeScript لكعملية الـ Compilation والأخطاءملخص: مقدمة في TS4التعامل مع الدوال
تحديد أنواع المعاملات وقيم الإرجاعتحديد أنواع Arrow Functionsنوع الإرجاع 'void'المعاملات الاختيارية باستخدام '?'القيم الافتراضية للمعاملاتتحديد أنواع Rest Parametersتعريف أنواع الدوالملخص: بناء دوال محددة الأنواع2الأنواع الأساسية
الأنواع الأساسية: str, num, booleanالنوع 'any': مخرج الهروبالنوع 'unknown'التعامل مع 'null' و 'undef'استنتاج الأنواع في التطبيق العمليتوضيحات الأنواع الصريحةمراجعة: تدريب على الأنواع الأساسية5الأنواع: الأسماء المستعارة، الاتحادات والتقاطعات
الأسماء المستعارة للأنواع الأساسية (Primitives)أنواع الاتحاد ('|')التعامل مع أنواع الاتحادالأنواع الحرفية (Literal Types)أنواع التقاطع ('&')دمج الأسماء المستعارة للأنواعملخص: تركيبات الأنواع المتقدمة3هياكل البيانات: المصفوفات و Tuple
المصفوفات محددة النوع (Typed Arrays)معدل 'readonly' للمصفوفاتما هو الـ Tuple؟تعريف والوصول إلى الـ Tuplesتفكيك الـ Tuples (Destructuring)الـ Tuples للقراءة فقط (Readonly)المصفوفات محددة النوع متعددة الأبعاداستخدام Spread Operator مع المصفوفاتملخص: المصفوفات و Tuples6تحديد أنواع الكائنات والواجهات
توصيف أنواع الكائنات المضمنة (Inline)الأسماء المستعارة للأنواع (Type Aliases) للكائناتمقدمة عن الواجهات (Interfaces)الواجهات (Interfaces) مقابل الأسماء المستعارة للأنواع (Type Aliases)الخصائص الاختيارية وخصائص القراءة فقط (Readonly)توسيع الواجهات والأنواعإضافة الدوال (Methods) إلى الواجهاتملخص: تحديد هياكل الكائناتتدرّب بنفسك: Playground لـ TypeScript