any النوع any

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

any النوع any

يعني any "التخلي عن فحص الأنواع": أي قيمة يمكن إسنادها إليه، وهو نفسه يمكن إسناده إلى أي نوع. قد يكون مفيدًا عند ترحيل شيفرة JS قديمة أو التعامل مع بيانات مجهولة البنية حقًا، لكن المترجم يصمت عن كل العمليات اللاحقة عليه.

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

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

📝 الصيغة

let data: any = JSON.parse(text);
data.whatever.method(); // لا يحدث خطأ عند الترجمة

⚙️ المعاملات

noImplicitAnyخيار ترجمة يرصد any الضمني الناتج عن غياب التعليق والاستنتاج معًا؛ ويُنصح بتفعيله

القيمة المُعادة:لا قيمة مُعادة — any تعليق نوع؛ و"وظيفته" بالضبط هي تعطيل الفحص على مستوى الأنواع.

▶ مثال

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

الناتج:

4 Ada

(مخرجات التشغيل بعد التحويل؛ لو كُتب payload.lvel خطأً بدل payload.level لما حدث خطأ في زمن الترجمة، ولحصلت على NaN في وقت التشغيل)

💡 نقاط مهمة

⚠️ تنبيه ينتشر any "عدوى" عبر سلسلة الإسناد: كل تعبير يشترك فيه يفقد الفحص، فتنكشف الأخطاء الإملائية ومؤشرات null في وقت التشغيل وحده.
💡 تلميح عند استلام بيانات مجهولة استخدم unknown أولًا ثم ضيّق النوع؛ فهذا أأمن بكثير من any (راجع مقارنة مدخل unknown).
ℹ️ معلومة any الصريح يختلف عن any الضمني: فالثاني ينتج عن غياب التعليق والاستنتاج معًا، وتفعيل noImplicitAny يرصد كل الحالات الضمنية.
المزيد من الحالات قادم قريبًا.

📚 دروس ذات صلة

❓ أسئلة شائعة

س ما الفرق بين any و unknown؟
ج يمكن إسناد أي قيمة إلى كليهما؛ والفرق في "الاستخدام": يسمح any بأي عملية مباشرةً، بينما يجب تضييق unknown أو التأكيد عليه أولًا. فـ unknown هو any الآمن.
س متى يتعذر الاستغناء عن any؟
ج قلةً ما يكون ذلك ضرورة فعلية: يجوز استخدامه مؤقتًا في الترحيل السريع أو مع مكتبات بلا أنواع، لكن يجب فورًا إضافة الأنواع أو التحول إلى unknown. كل any جديد يدخل الفرع الرئيسي ينبغي أن يوقفه مراجعة الكود.
س كيف أحصر استخدام any في الفريق؟
ج بثلاث أدوات: تفعيل strict في tsconfig (ويتضمن noImplicitAny)؛ وتفعيل @typescript-eslint/no-explicit-any في ESLint؛ ومعاملة كل any جديد كتغيير تحذيري في مراجعة الكود.
Web-Tutorial.com

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

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

100%