0%
الـ null safety — الفصل 12

الفصل 12 — الـ null safety

الجزء 1A — تعلّم Dart · الفصل 12 من 62 · 5 ساعات

الفصل 12 — الـ null safety

المستوى: مبتدئ / متوسط المدة التقديرية: 5 ساعات المتطلبات المسبقة: الفصل 11 — البرمجة كائنية التوجه المتقدمة (abstract وmixins وenums) ما ستتقنه في نهاية الفصل: كتابة كود Dart لا تتسبب فيه القيمة الغائبة في تعطّل البرنامج، مع التمييز بين الأنواع القابلة لأن تكون null والأنواع غير القابلة لذلك، واستخدام ?. و?? و??= و! وlate في موضعها الصحيح.


12.0 — أهداف الفصل

في نهاية هذا الفصل، ستكون قادرًا على:

  • شرح ما هو null ولماذا كلّف الصناعة هذا الثمن الباهظ؛
  • التمييز بين نوع غير قابل لأن يكون null (String) ونوع قابل لذلك (String?)؛
  • قراءة رسائل الخطأ الصادرة عن المترجم والمرتبطة بالـ null safety وفهمها؛
  • استخدام الوصول الآمن ?.؛
  • استخدام القيمة البديلة ??؛
  • استخدام الإسناد الشرطي ??=؛
  • شرح لماذا يُعدّ العامل ! الملاذ الأخير؛
  • استخدام late للتهيئة المؤجلة؛
  • استخدام late final لقيمة تُكتب مرة واحدة فقط؛
  • التعرّف على LateInitializationError وتصحيحه؛
  • فهم ترقية النوع (flow analysis)؛
  • شرح سبب فشل الترقية على حقل في صنف؛
  • تصحيح هذه المشكلة بمتغير محلي وسيط؛
  • التمييز بين List<int>? وList<int?>؛
  • قراءة Map دون التسبب في تعطّل البرنامج؛
  • كتابة معاملات قابلة لأن تكون null، وقيم افتراضية، ومعاملات required؛
  • تطبيق قائمة مراجعة لأفضل الممارسات على مشروع حقيقي.

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!