الفصل 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 للمشاركة في النقاش