تكرار السؤال: …
الإجابة المختصرة
النوع غير القابل لـ null مثل String لا يقبل null، وعندما تكون القيمة اختيارية نكتب String? ونفحصها قبل الاستخدام.
الشرح
Null Safety يجعل المترجم يكتشف أغلب أخطاء null قبل التشغيل. استخدم ? للنوع القابل لـ null، واجعل التحويل إلى نوع غير قابل لـ null بعد شرط واضح. عامل ! يجبر المترجم على الثقة فيك، لكنه يرمي خطأ وقت التشغيل إذا كانت القيمة null بالفعل.
مثال بالكود
String? nickname;
if (nickname != null) {
print(nickname.length);
}أخطاء شائعة
- استخدام ! كحل دائم بدل فحص القيمة أو تصميم النوع بشكل أوضح.
- اعتبار String? مساويًا لـ String؛ الأول يحتاج تعاملًا صريحًا مع null.