Menu
Coddy logo textTech

גישה מודעת ל-null

חלק מהיחידה יסודות במסלול ה-Dart של Coddy. שיעור 29 מתוך 94.

אופרטור גישה המודע לערכי null (?.) ניגש בבטחה למאפיינים של אובייקטים שעשויים להיות null, ובכך מונע שגיאות בזמן ריצה.

void main() {
  String? name = 'Dart';
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}

במקרה של ערכי null, מוחזר null במקום שהתוכנית תקרוס:

void main() {
  String? name = null;
  int? length = name?.length;
  
  print('Name: $name');
  print('Length: $length');
}
challenge icon

אתגר

קל

צרו תוכנית ב-Dart שמדגימה את אופרטור הגישה המודעת ל-null (?.) עם דמות במשחק:

  1. צרו משתנה String שניתן להקצות לו null בשם playerName והגדירו את ערכו ל-null
  2. צרו משתנה int שניתן להקצות לו null בשם playerScore והגדירו את ערכו ל-100
  3. השתמשו באופרטור הגישה המודעת ל-null (?.) כדי לקבל את האורך של playerName ולשמור אותו במשתנה בשם nameLength
  4. הדפיסו את ההודעה הבאה: Player name length: X (כאשר X הוא הערך של nameLength)
  5. עדכנו את playerName לערך "Champion"
  6. השתמשו שוב באופרטור הגישה המודעת ל-null כדי לקבל את האורך המעודכן ולשמור אותו ב-nameLength
  7. הדפיסו את ההודעה המעודכנת: Player name length: X (כאשר X הוא הערך החדש)
  8. הדפיסו את הניקוד של השחקן בפורמט הזה: Player score: 100

נסו בעצמכם

void main() {
  // הכריזו כאן על המשתנים שיכולים להכיל null
  String? playerName = _;
  int? playerScore = _;
  
  // קבלו את האורך של playerName באמצעות האופרטור ?.
  int? nameLength = playerName_.length;
  
  // הדפיסו את האורך ההתחלתי של השם
  print("Player name length: ${nameLength}");
  
  // עדכנו את playerName
  playerName = _;
  
  // קבלו את האורך המעודכן באמצעות האופרטור ?.
  nameLength = playerName_.length;
  
  // הדפיסו את האורך המעודכן של השם
  print("Player name length: ${nameLength}");
  
  // הדפיסו את הניקוד של השחקן
  print("Player score: ${playerScore}");
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Dart אונליין