Menu
Coddy logo textTech

Accès null-aware

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

L'opérateur d'accès null-aware (?.) accède en toute sécurité aux propriétés sur des objets potentiellement nuls, empêchant les erreurs d'exécution.

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

Avec des valeurs nulles, il retourne null au lieu de planter :

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

Défi

Facile

Créez un programme Dart qui démontre l'opérateur d'accès conscient des valeurs nulles (?.) avec un personnage de jeu :

  1. Créez une variable String nullable appelée playerName et définissez-la à null
  2. Créez une variable int nullable appelée playerScore et définissez-la à 100
  3. Utilisez l'opérateur d'accès conscient des valeurs nulles (?.) pour obtenir la longueur de playerName et stockez-la dans une variable appelée nameLength
  4. Affichez le message suivant : Player name length: X (où X est la valeur de nameLength)
  5. Mettez à jour playerName à "Champion"
  6. Utilisez à nouveau l'opérateur d'accès conscient des valeurs nulles pour obtenir la longueur mise à jour et stockez-la dans nameLength
  7. Affichez le message mis à jour : Player name length: X (où X est la nouvelle valeur)
  8. Affichez le score du joueur avec ce format : Player score: 100

Essayez vous-même

void main() {
  // Déclarez vos variables nullables ici
  String? playerName = _;
  int? playerScore = _;
  
  // Obtenez la longueur de playerName en utilisant l'opérateur ?.
  int? nameLength = playerName_.length;
  
  // Affichez la longueur initiale du nom
  print("Player name length: ${nameLength}");
  
  // Mettez à jour playerName
  playerName = _;
  
  // Obtenez la longueur mise à jour en utilisant l'opérateur ?.
  nameLength = playerName_.length;
  
  // Affichez la longueur mise à jour du nom
  print("Player name length: ${nameLength}");
  
  // Affichez le score du joueur
  print("Player score: ${playerScore}");
}
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