Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

عامل التأكيد على الـ Null

جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 80 من 94.

يخبر عامل تأكيد القيمة غير الفارغة (null assertion operator) (!) لغة Dart أن المتغير القابل للقيمة null ليس null بالتأكيد في تلك النقطة من الكود. فهو يجبر Dart على معاملة النوع القابل للقيمة null كنوع غير قابل للقيمة null.

قم بإنشاء متغير نصي قابل للإلغاء (nullable string):

String? name = 'Dart';

استخدم عامل تأكيد القيمة غير الفارغة (null assertion operator) للتعامل معه كقيمة غير قابلة للفراغ (non-nullable):

String nonNullableName = name!;
print(nonNullableName);

بعد تنفيذ الكود أعلاه، ستكون النتيجة:

Dart

كن حذرًا! إذا كان المتغير فارغًا (null) بالفعل، فسيؤدي ذلك إلى تعطل برنامجك:

String? language = null;
// String nonNullable = language!; // This would crash at runtime
challenge icon

التحدي

مبتدئ

في هذا التحدي، ستتدرب على استخدام Null Assertion Operator (!) في Dart. يخبر هذا المشغل Dart أن المتغير القابل للإلغاء (nullable) ليس null بالتأكيد في نقطة معينة من الكود الخاص بك.

أكمل الكود أدناه لاستخدام null assertion operator لتحويل متغير username القابل للإلغاء إلى سلسلة نصية غير قابلة للإلغاء (non-nullable) يمكن تعيينها لـ displayName.

المخرجات المتوقعة:

Welcome, DartLearner!

ورقة مرجعية

يخبر عامل تأكيد القيمة الفارغة (!) لغة Dart أن المتغير القابل لأن يكون فارغاً (nullable) ليس فارغاً بالتأكيد في تلك النقطة من الكود. فهو يجبر Dart على التعامل مع النوع القابل لأن يكون فارغاً كنوع غير قابل لأن يكون فارغاً (non-nullable).

String? name = 'Dart';
String nonNullableName = name!;
print(nonNullableName); // المخرج: Dart

تحذير: إذا كان المتغير فارغاً (null) بالفعل، فسيتحطم برنامجك في وقت التشغيل:

String? language = null;
// String nonNullable = language!; // سيؤدي هذا إلى توقف البرنامج

جرّب بنفسك

void main() {
  // هذا المتغير النصي القابل للإلغاء (nullable String) يحتوي بالفعل على قيمة غير فارغة
  String? username = 'DartLearner';
  
  // مهام: استخدم عامل تأكيد القيمة غير الفارغة (!) لتحويل username
  // من نص قابل للإلغاء (nullable String) إلى نص غير قابل للإلغاء (non-nullable String)
  // حتى يمكن تعيينه لـ displayName
  String displayName;
  
  // سيقوم هذا بعرض رسالة الترحيب
  print('Welcome, $displayName!');
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals