void النوع void

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

void النوع void

يعني void أن "الدالة لا تملك قيمة مُعادة ذات معنى". يُستخدم عادةً لتعليق دوال السجل ووحدات معالجة الأحداث، ليقول للمستدعي "لا تتوقع قيمة مُعادة".

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

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

📝 الصيغة

function log(msg: string): void {
  console.log(msg);
}
type Handler = (event: string) => void;

⚙️ المعاملات

() => voidكتابة void في موضع الإرجاع لنوع الاستدعاءات: يجوز للتنفيذ أن يُعيد قيمة، لكن المستدعي يتجاهلها

القيمة المُعادة:النوع void هو نفسه "نوع الإرجاع": الدوال المعلَّقة به لا تملك قيمة مُعادة ذات معنى؛ وفي وضع strict فإن استخدام قيمتها المُعادة يعطي النوع void.

▶ مثال

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

الناتج:

[event] click
[warn] low battery

(مخرجات التشغيل بعد التحويل؛ كتابة return 5 داخل logEvent تؤدي إلى خطأ ترجمة)

💡 نقاط مهمة

ℹ️ معلومة تسمح دوال void بالأمر return; (إرجاع مجرد) وبـ return undefined، لكنها لا تسمح بإعادة قيم أخرى.
💡 تلميح كتابة نوع الاستدعاءات الحدثية بصيغة (e: Event) => void هي الممارسة المعيارية: فحرية التنفيذ فيما يعيده لا تمسّ العقد.
⚠️ تنبيه النوع void يختلف عن undefined: فـ undefined نوع قيمة حقيقية قائمة، بينما void إعلان عن نية "عدم استخدام القيمة المُعادة"، ولا يجوز الخلط بينهما.
المزيد من الحالات قادم قريبًا.

📚 دروس ذات صلة

❓ أسئلة شائعة

س ما الفرق بين void و undefined كنوع إرجاع؟
ج النوع () => undefined يُلزم الدالة بإعادة undefined صراحةً؛ بينما () => void يعني فقط "لا توجد قيمة مُعادة قابلة للاستخدام" وهو أوسع للتنفيذ. الاستدعاءات اليومية تستخدم void عادةً.
س هل يمكن إسناد القيمة المُعادة من دالة void إلى متغير؟
ج نحويًا نعم (يصبح نوع المتغير void)، لكن ذلك بلا معنى — فهي undefined في الحقيقة. تجنّب ذلك في وضع strict.
س ماذا يعني Promise<void>؟
ج يعني أن الوعد يتحقق دون أن يحمل بيانات؛ فالعملية غير المتزامنة تكتفي بالإشارة إلى اكتمالها (كحفظ ناجح مثلًا). أما واجهات قراءة البيانات فينبغي أن تكون Promise<T>.
Web-Tutorial.com

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

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

100%