[T, U] نوع الصفوف (tuple)

آخر تحديث: 2026-10-22

[T, U] نوع الصفوف (tuple)

الصف (tuple) نوع مصفوفة بطول ثابت ولكل موضع نوعه الخاص، وهو مناسب للبيانات التي يحمل فيها الموضع نفسه معنى، مثل الإحداثيات وأزواج المفتاح/القيمة والقيم المتعددة المُعادة من الدوال.

المجموعةالأنواع الأساسية
النوعنوع
الوضع الصارمغير مطلوب

ℹ️ معلومة يحوّل المحرر لغة TypeScript إلى JavaScript ثم يشغّلها (بدون فحص أنواع)؛ راجع ناتج كل مثال لنتيجة فحص الأنواع.

📝 الصيغة

type Point = [number, number];
type Named = [name: string, age: number]; // صف مُسمّى
let pair: Point = [3, 4];

⚙️ المعاملات

[T, U]يعلن الأنواع حسب الموضع: الموضع 0 من النوع T والموضع 1 من النوع U، والطول ثابت كذلك
[lat: number]الأسماء الدلالية: [lat: number, lng: number] تسمّي كل موضع وتؤثر في القراءة فقط

القيمة المُعادة:لا قيمة مُعادة — الصف مفهوم خاص بطبقة الأنواع فقط، وفي وقت التشغيل هو مصفوفة عادية.

▶ مثال

عدّل الكود أدناه واضغط «جرّب» لرؤية نتيجة التحويل:

الناتج:

rgb(255, 0, 0)

(مخرجات التشغيل بعد التحويل؛ كلٌّ من red.push("x") و red = [255, 0] يؤدي إلى خطأ ترجمة)

💡 نقاط مهمة

ℹ️ معلومة الصف في وقت التشغيل مصفوفة عادية؛ فقيود الطول موجودة في زمن الترجمة فقط.
💡 تلميح الصفوف المسماة مثل [lat: number, lng: number] تجعل التفكيك وتلميحات IDE أكثر دلالة، ويُنصح بها بقوة في سيناريوهات القيم المتعددة المُعادة.
⚠️ تنبيه لا يزال بإمكان push إضافة عناصر من الأنواع المعلنة بما يتجاوز الطول الثابت: فـ [number, number].push(1) لا يخطئ. فانضباط دلالة المواضع مسؤولية المبرمج.
المزيد من الحالات قادم قريبًا.

📚 دروس ذات صلة

❓ أسئلة شائعة

س ما الفرق بين الصف والمصفوفة؟
ج المصفوفة طولها متغير وعناصرها من نوع واحد؛ والصف طوله ثابت ولكل موضع نوعه. استخدم الصف عندما يكون "لكل موضع معنى مختلف" (مثل [lng, lat])، والمصفوفة للبيانات التجميعية.
س هل يمكن أن تكون عناصر الصف اختيارية؟
ج نعم: [string, number?] تعني أن الموضع الثاني قد يغيب؛ ويجب أن تأتي العناصر الاختيارية في النهاية.
س ما علاقة الصف بالمعاملات المتبقية (rest)؟
ج المعاملات المتبقية صف بطبيعتها: function f(...args: [string, number]) تحدد بدقة أنه عند الاستدعاء تُمرَّر سلسلة نصية أولًا ثم عدد.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%