استخدام Spread Operator مع المصفوفات
جزء من قسم مقدمة إلى TypeScript في رحلة JavaScript على Coddy. الدرس 20 من 73.
عامل الانتشار في JavaScript (...) هو ميزة قوية تعمل بسلاسة مع المصفوفات المكتوبة في TypeScript. عند استخدام صياغة الانتشار لدمج المصفوفات، يستنتج TypeScript تلقائيًا النوع الصحيح للمصفوفة الناتجة، مع الحفاظ على أمان الأنواع الكامل طوال العملية.
يتيح لك معامل الانتشار «نشر» عناصر المصفوفة إلى عناصر فردية. عند دمج المصفوفات ذات الأنواع، ما عليك سوى استخدام صيغة الانتشار داخل الأقواس المربعة لإنشاء مصفوفة جديدة:
let firstNumbers: number[] = [1, 2, 3];
let secondNumbers: number[] = [4, 5, 6];
let combined: number[] = [...firstNumbers, ...secondNumbers];
// النتيجة: [1, 2, 3, 4, 5, 6]إن TypeScript ذكي بما يكفي لفهم أنه عند دمج مصفوفتين من النوع number[] باستخدام عامل الانتشار، تكون النتيجة أيضًا من النوع number[]. يعمل استنتاج النوع هذا مع أي نوع من المصفوفات، سواء كانت سلاسل نصية أو قيمًا منطقية أو كائنات مخصّصة.
يمكنك حتى مزج عامل التوسيع مع العناصر الفردية:
let scores: number[] = [85, 92];
let allScores: number[] = [100, ...scores, 78];
// النتيجة: [100, 85, 92, 78]ينشئ هذا الأسلوب مصفوفة جديدة دون تعديل المصفوفات الأصلية، وهو مفيد بشكل خاص عند العمل مع أنماط البيانات غير القابلة للتغيير. يوفّر عامل الانتشار طريقة واضحة وسهلة القراءة لدمج المصفوفات مع الحفاظ على فوائد التحقّق من الأنواع في TypeScript.
التحدي
سهلأنشئ مصفوفتين مكتوبتي النوع: firstScores تحتويان على الأعداد 85 و92 و78، وsecondScores تحتويان على الأعداد 88 و95 و82.
استخدم عامل الانتشار لدمج المصفوفتين في مصفوفة جديدة تُسمى allScores.
أنشئ مصفوفة أخرى مكتوبة النوع تُسمى bonusPoints وتحتوي على العددين 5 و10.
استخدم عامل الانتشار لإنشاء مصفوفة نهائية تُسمى finalScores، تجمع بين allScores وbonusPoints، وتضم أيضًا العدد 100 في البداية والعدد 90 في النهاية.
اطبع المصفوفة finalScores إلى وحدة التحكم.
جرّب بنفسك
// TODO: اكتب الكود الخاص بك هنا
console.log(finalScores);يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى 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