ملخص: بناء دوال محددة الأنواع
جزء من قسم Introduction To TypeScript في رحلة JavaScript على Coddy. الدرس 29 من 73.
التحدي
سهلقم بإنشاء دالة باسم formatName تأخذ ثلاثة معاملات: firstName من نوع string (مطلوب)، و lastName من نوع string (مطلوب)، و middleName من نوع string (اختياري). يجب أن تعيد الدالة الاسم الكامل المنسق كـ string مع تحديد نوع القيمة المرجعة بشكل صريح.
عند توفير المعاملات الثلاثة جميعها، يجب أن تعيد الدالة الاسم بالتنسيق التالي: "[firstName] [middleName] [lastName]"
عند توفير الاسمين الأول والأخير فقط، يجب أن تعيد الدالة الاسم بالتنسيق التالي: "[firstName] [lastName]"
سيتم توفير المدخلات التالية:
- المدخل الأول:
firstNameكسلسلة نصية (string) - المدخل الثاني:
lastNameكسلسلة نصية (string) - المدخل الثالث:
middleNameكسلسلة نصية (string) (قد يكون هذا المدخل سلسلة فارغة""للإشارة إلى عدم وجود اسم أوسط)
يجب أن تعامل دالتك السلسلة الفارغة لـ middleName بنفس الطريقة كما لو لم يتم توفير اسم أوسط.
اقرأ المدخلات الثلاثة، واستدعِ دالة formatName بالمعاملات المناسبة، واطبع النتيجة.
ملاحظة: إذا كان المدخل الثالث سلسلة فارغة، فاستدعِ الدالة باستخدام أول معاملين فقط (لا تمرر السلسلة الفارغة كاسم أوسط).
جرّب بنفسك
import * as fs from "fs";
// قراءة المدخلات
const stdinBuffer: Buffer = fs.readFileSync(0);
const inputs: string[] = stdinBuffer.toString().trim().split('\n');
const firstName: string = inputs[0];
const lastName: string = inputs[1];
const middleName: string = inputs[2];
// TODO: اكتب الكود الخاص بك هنا
// قم بإنشاء دالة formatName مع توضيحات النوع المناسبة
// استدعاء الدالة وطباعة النتيجة
// تذكر معالجة الحالة التي يكون فيها middleName عبارة عن سلسلة فارغة
console.log(result);جميع دروس Introduction To 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) إلى الواجهاتملخص: تحديد هياكل الكائناتتدرّب بنفسك: مترجم JavaScript عبر الإنترنت