Menu
Coddy logo textTech

בטיחות בסיסית מול null

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

בטיחות null עוזרת למנוע קריסות בלתי צפויות של האפליקציה באמצעות שליטה במשתנים שיכולים להיות ריקים (null).

כברירת מחדל, משתנים חייבים להכיל ערך:

void main() {
  String name = 'Dart';
  print(name);  // פלט: Dart
  
  // זה יגרום לבעיות:
  // name = null;  // לא מותר
}

הוסף ? אחרי הטיפוס כדי לאפשר ערכי null:

void main() {
  String? name = 'Dart';
  print(name);  // פלט: Dart
  
  // עכשיו אפשר להציב null
  name = null;
  print(name);  // פלט: null
}

אפשר להצהיר על משתנים שניתנים לערך null מכל סוג:

void main() {
  int? age;  // ללא ערך התחלתי, ברירת המחדל היא null
  double? price = 19.99;
  bool? isAvailable = true;
  
  print(age);         // פלט: null
  print(price);       // פלט: 19.99
  print(isAvailable); // פלט: true
  
  // אפשר לשנות כל אחד מאלה ל-null
  price = null;
  isAvailable = null;
}

 

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

challenge icon

אתגר

מתחילים

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

  1. הכריזו על משתנה מסוג String בשם username והגדירו אותו ל-null באמצעות אופרטור בטיחות null ? (String?)
  2. הכריזו על משתנה מסוג int בשם userAge והגדירו אותו ל-null באמצעות אופרטור בטיחות null
  3. הדפיסו את שני המשתנים עם תוויות בפורמט הבא בדיוק:
Username: null
User age: null

לאחר מכן:

  1. הקצו את הערך "DartLearner" למשתנה username
  2. הקצו את הערך 25 למשתנה userAge
  3. הדפיסו שוב את שני המשתנים באותו פורמט בדיוק כמו קודם

הפלט שלכם חייב להתאים לפורמט המדויק שמוצג למעלה.

נסו בעצמכם

void main() {
  // הכריזו כאן על המשתנים שלכם שיכולים להכיל null
  String? username = ?;
  int? userAge = ?;
  
  // הדפיסו את הערכים ההתחלתיים עם תוויות
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
  
  // הקצו ערכים חדשים למשתנים
  username = ?;
  userAge = ?;
  
  // הדפיסו את הערכים המעודכנים עם אותן תוויות
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
}
quiz iconבחנו את עצמכם

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

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

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