الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام
حدّد متى يمكن أن تكون القيمة null
الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
الخطأ الذي كلّف المليارات
تتسبب أخطاء القيم الفارغة في تعطل التطبيقات في كل مكان. يوقف أمان القيم الفارغة في Dart معظم هذه الأخطاء قبل تشغيل برنامجك أصلًا. ✨
غير القابلة للقيمة الفارغة افتراضيًا
لا يمكن لمتغير Dart أن يحتوي على null افتراضيًا. يجب أن يحتوي هذا النوع int دائمًا على رقم حقيقي.
int age = 30;يُرفض null
حاول إسناد null إلى نوع عادي، وسيرفض المترجم ذلك. يظهر هذا الخطأ أثناء التحرير، لا في بيئة الإنتاج.
int age = null;إضافة علامة الاستفهام
أضف ? إلى النوع للسماح بـ null. والآن قد يحتوي المتغير على قيمة أو لا يحتوي على شيء إطلاقًا.
int? age = null;النوع القابل للقيمة الفارغة يعني الاحتمال
يشير النوع القابل للقيمة الفارغة إلى أن هذه القيمة قد تكون مفقودة. وهذا التزام بالتعامل مع الحالة الفارغة بعناية.
String? nickname;القيمة الافتراضية هي null
يبدأ المتغير القابل للقيمة الفارغة، إذا لم تتم تهيئته، بقيمة null تلقائيًا؛ لذا يمكنك التصريح عنه الآن وتعبئته لاحقًا.
double? price;
print(price);لا يمكن استخدامه مباشرةً
لا يمكنك استدعاء أساليب على قيمة قابلة للقيمة الفارغة كما لو كانت موجودة دائمًا. يفرض عليك المترجم إجراء تحقق أولًا.
String? name;
print(name.length);تضييق النوع باستخدام التحقق
يتيح اختبار if يستبعد null لـDart ترقية النوع، ولذلك يصبح استخدامه آمنًا داخل الكتلة.
if (name != null) {
print(name.length);
}ينطبق ذلك على القيم المُعادة من الدوال أيضًا
يمكن أن تكون أنواع القيم المُعادة قابلة للقيمة الفارغة أيضًا. وتشير علامة ? هنا إلى أن الدالة قد تعيد لا شيء.
String? findUser(int id) => null;اختر النوع الأكثر تحديدًا
فضّل الأنواع غير القابلة للقيمة الفارغة كلما كانت القيمة موجودة فعلًا دائمًا. ولا تستخدم القابل للقيمة الفارغة إلا عندما يكون الغياب ذا معنى.
أمان أكبر منذ البداية
يعني أمان القيم الفارغة السليم أنه إذا خلا النوع من ?، فيمكنك الوثوق بأنه لن يكون null في أي موضع من شيفرتك.
تحقق سريع
ماذا تعني علامة ? بعد النوع؟
مراجعة
تعلمت أن أنواع Dart غير قابلة للقيمة الفارغة افتراضيًا، وأن علامة ? تجعل النوع قابلًا لاحتواء null. 🎯
الأسئلة الشائعة
هل درس «الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام» مجاني؟
نعم — نص درس «الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام»؟
حدّد متى يمكن أن تكون القيمة null تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- صياغة السهم للدوال ذات السطر الواحد
- الدوال المجهولة والإغلاقات
- الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام
- العوامل الواعية بـnull: ?. و?? و!