Menu
Coddy logo textTech

Sécurité null de base

Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 14 sur 94.

Sécurité des valeurs nulles aide à prévenir les plantages inattendus de l'application en contrôlant quelles variables peuvent être vides (null).

Par défaut, les variables doivent contenir une valeur :

void main() {
  String name = 'Dart';
  print(name);  // Affiche : Dart
  
  // Cela causerait des problèmes :
  // name = null;  // Non autorisé
}

Ajoutez ? après le type pour permettre les valeurs nulles :

void main() {
  String? name = 'Dart';
  print(name);  // Outputs: Dart
  
  // Now we can assign null
  name = null;
  print(name);  // Outputs: null
}

Vous pouvez déclarer des variables nullables de n'importe quel type :

void main() {
  int? age;  // Pas de valeur initiale, par défaut null
  double? price = 19.99;
  bool? isAvailable = true;
  
  print(age);         // Affiche : null
  print(price);       // Affiche : 19.99
  print(isAvailable); // Affiche : true
  
  // Nous pouvons changer n'importe laquelle de ces valeurs en null
  price = null;
  isAvailable = null;
}

 

Null safety aide à protéger votre application contre les plantages inattendus qui se produisent lorsque votre code essaie d'utiliser des valeurs nulles dans des opérations.

challenge icon

Défi

Débutant

Créez un programme Dart qui démontre la sécurité null de base en utilisant l'opérateur ? :

  1. Déclarez une variable String nommée username et définissez-la à null en utilisant l'opérateur de sécurité null ? (String?)
  2. Déclarez une variable int nommée userAge et définissez-la à null en utilisant l'opérateur de sécurité null
  3. Imprimez les deux variables avec des étiquettes dans le format EXACT suivant :
Username: null
User age: null

Ensuite :

  1. Assignez la valeur "DartLearner" à la variable username
  2. Assignez la valeur 25 à la variable userAge
  3. Imprimez à nouveau les deux variables avec le même format EXACT qu'avant

Votre sortie doit correspondre exactement au format montré ci-dessus.

Aide-mémoire

Par défaut, les variables Dart ne peuvent pas être null. Ajoutez ? après le type pour permettre les valeurs null :

// Non-nullable (par défaut)
String name = 'Dart';

// Nullable avec ?
String? name = 'Dart';
name = null;  // Maintenant autorisé

Vous pouvez déclarer des variables nullables de n'importe quel type :

int? age;           // Par défaut null
double? price = 19.99;
bool? isAvailable = true;

// Toutes peuvent être définies à null
price = null;
isAvailable = null;

Essayez vous-même

void main() {
  // Déclarez vos variables nullables ici
  String? username = ?;
  int? userAge = ?;
  
  // Affichez les valeurs initiales avec des étiquettes
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
  
  // Assignez de nouvelles valeurs aux variables
  username = ?;
  userAge = ?;
  
  // Affichez les valeurs mises à jour avec les mêmes étiquettes
  print("Username: " + username.toString());
  print("User age: " + userAge.toString());
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux