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

معامل التعامل مع Null

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

يعيد عامل التحقق من القيمة الفارغة (null-aware operator) (??) التعبير الأيسر إذا لم يكن null، وإلا فإنه يعيد التعبير الأيمن.

void main() {
  String? name = 'Dart';
  String displayName = name ?? 'Guest';
  
  print('Hello, $displayName!');
}
void main() {
  String? name = null;
  String displayName = name ?? 'Guest';
  
  print('Hello, $displayName!');
}
void main() {
  int? score;  // لا توجد قيمة أولية، القيمة الافتراضية هي null
  int displayScore = score ?? 0;
  
  print('Your score: $displayScore');
  
  // لاحقاً في البرنامج، يحصل score على قيمة
  score = 100;
  displayScore = score ?? 0;
  
  print('Your updated score: $displayScore');
}
challenge icon

التحدي

سهل

أنشئ برنامجاً يوضح عامل الوعي بالقيمة الخالية (??) في Dart:

  1. قم بالتصريح عن متغير String قابل للقيمة الخالية باسم username وقم بتعيينه إلى null
  2. قم بالتصريح عن متغير int قابل للقيمة الخالية باسم userAge وقم بتعيينه إلى null
  3. استخدم عامل الوعي بالقيمة الخالية لتعيين قيمة افتراضية "Guest" لمتغير جديد displayName إذا كان username هو null
  4. استخدم عامل الوعي بالقيمة الخالية لتعيين قيمة افتراضية 18 لمتغير جديد displayAge إذا كان userAge هو null
  5. اطبع القيم بالتنسيق التالي تماماً:
Username: Guest (default value used)
Age: 18 (default value used)

ثم:

  1. قم بتحديث username إلى "DartUser"
  2. قم بتحديث userAge إلى 25
  3. كرر الخطوتين 3 و 4 بالقيم المحدثة
  4. اطبع القيم بالتنسيق التالي تماماً:
Username: DartUser (original value used)
Age: 25 (original value used)

ورقة مرجعية

يعيد عامل التحقق من القيمة الفارغة (??) التعبير الأيسر إذا لم يكن null، وإلا فإنه يعيد التعبير الأيمن.

String? name = null;
String displayName = name ?? 'Guest';  // يعيد 'Guest' لأن name هو null

int? score = 100;
int displayScore = score ?? 0;  // يعيد 100 لأن score ليس null

جرّب بنفسك

void main() {
  // التصريح عن متغيرات قابلة للقيمة الخالية (nullable)
  String? username = _;
  int? userAge = _;
  
  // استخدام معامل التحقق من القيمة الخالية للقيم الافتراضية
  String displayName = username ?? _;
  int displayAge = userAge ?? _;
  
  // طباعة القيم الأولية
  print("Username: $displayName (default value used)");
  print("Age: $displayAge (default value used)");
  
  // تحديث المتغيرات
  username = _;
  userAge = _;
  
  // استخدام معامل التحقق من القيمة الخالية مرة أخرى
  displayName = username _ "Guest";
  displayAge = userAge _ 18;
  
  // طباعة القيم المحدثة
  print("Username: $displayName (original value used)");
  print("Age: $displayAge (original value used)");
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals