0Pricing
TypeScript Academy · درس

نقاط الضعف في JavaScript: أخطاء وقت التشغيل

استكشف أخطاء JavaScript الشائعة التي لا تظهر إلا أثناء التشغيل

نقاط الضعف في JavaScript: أخطاء وقت التشغيل درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

مرحبًا

في هذا الدرس نستكشف أخطاء وقت التشغيل التي دفعت إلى إنشاء TypeScript. تتميز JavaScript بالمرونة، لكن هذه المرونة قد تؤدي إلى أخطاء يصعب اكتشافها.

خطأ تحويل الأنواع الصامت

تُحوّل JavaScript الأنواع بصمت. تؤدي إضافة رقم إلى سلسلة نصية إلى إرجاع سلسلة نصية، وليس إلى حدوث خطأ. وينتج عن ذلك سلوك غير متوقع في وقت التشغيل.
// JavaScript
let total = 5 + '10'; // '510' not 15
console.log(total);   // '510'

الوصول إلى الخصائص غير المعرّفة

تسمح JavaScript بالوصول إلى خصائص غير موجودة في الكائنات. وتكون النتيجة `undefined` بدلًا من حدوث خطأ، وغالبًا ما ينتشر ذلك بصمت.
const user = { name: 'Alice' };
console.log(user.age); // undefined — no error thrown

استدعاء قيم ليست دوال

إذا احتوى متغير على قيمة ليست دالة ثم استدعيتها، فإن JavaScript تطرح TypeError في وقت التشغيل فقط، وليس أثناء التطوير.
const greet = 'hello';
greet(); // TypeError: greet is not a function

الأخطاء المطبعية في أسماء الخصائص

يؤدي الخطأ المطبعي في اسم خاصية إلى إرجاع `undefined` من دون أي تحذير. ويصعب اكتشاف هذه الأخطاء في قواعد الشيفرة الكبيرة.
const config = { timeout: 3000 };
console.log(config.tiemout); // undefined — typo goes unnoticed

أنواع الوسائط الخاطئة

تقبل دوال JavaScript أي وسيطة. ويؤدي تمرير نوع خاطئ إلى نتائج غير متوقعة بدلًا من ظهور خطأ واضح.
function double(n) { return n * 2; }
console.log(double('5')); // 10 — but '5' * 2 uses coercion

أعطال إلغاء الإشارة إلى null

من أكثر أعطال وقت التشغيل شيوعًا: الوصول إلى خاصية على قيمة null أو undefined. تمنع فحوصات null الصارمة في TypeScript هذا النوع من الأخطاء.
let element = document.querySelector('.missing');
console.log(element.textContent); // TypeError: Cannot read properties of null

مشكلة إعادة الهيكلة

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

أخطاء وقت التشغيل مقابل أخطاء وقت الترجمة

تظهر أخطاء JavaScript في وقت التشغيل، وغالبًا في بيئة الإنتاج. تكتشف TypeScript العديد من هذه الأخطاء في وقت الترجمة، قبل تشغيل شيفرتك.

يتدهور دعم IDE من دون الأنواع

من دون معلومات الأنواع، لا يستطيع IDE توفير الإكمال التلقائي أو الانتقال إلى التعريف أو إعادة التسمية بشكل موثوق. وتجعل الأنواع أدوات التطوير أفضل بكثير.

يكشف التوسع المشكلة

تعمل البرامج النصية الصغيرة جيدًا في JavaScript. لكن مع نمو المشاريع لتضم آلاف الملفات والعديد من المساهمين، يصبح غياب الأنواع مصدرًا رئيسيًا للأخطاء وعبئًا كبيرًا على الصيانة.

تحقق سريع

ما سلوك JavaScript الذي يساعد فحص null الصارم في TypeScript على منعه؟

مراجعة

تؤدي مرونة JavaScript، مثل تحويل الأنواع والخصائص غير المعرّفة وغياب التحقق من الوسائط، إلى أخطاء صامتة لا تظهر إلا في وقت التشغيل. وقد صُممت TypeScript لاكتشاف هذه الأخطاء قبل تشغيل الشيفرة.

الأسئلة الشائعة

هل درس «نقاط الضعف في JavaScript: أخطاء وقت التشغيل» مجاني؟

نعم — نص درس «نقاط الضعف في JavaScript: أخطاء وقت التشغيل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.

ماذا ستتعلم في «نقاط الضعف في JavaScript: أخطاء وقت التشغيل»؟

استكشف أخطاء JavaScript الشائعة التي لا تظهر إلا أثناء التشغيل تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟

لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «نقاط الضعف في JavaScript: أخطاء وقت التشغيل»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟

نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نقاط الضعف في JavaScript: أخطاء وقت التشغيل
  2. ما الذي تضيفه TypeScript إلى JavaScript
  3. ترجمة TypeScript إلى JavaScript
  4. متى تستخدم TypeScript في مشاريعك
← العودة إلى TypeScript Academy