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');
}Défi
FacileCréez un programme Dart qui démontre l'opérateur d'accès conscient des valeurs nulles (?.) avec un personnage de jeu :
- Créez une variable String nullable appelée
playerNameet définissez-la à null - Créez une variable int nullable appelée
playerScoreet définissez-la à 100 - Utilisez l'opérateur d'accès conscient des valeurs nulles (
?.) pour obtenir la longueur de playerName et stockez-la dans une variable appeléenameLength - Affichez le message suivant :
Player name length: X(où X est la valeur de nameLength) - Mettez à jour
playerNameà "Champion" - Utilisez à nouveau l'opérateur d'accès conscient des valeurs nulles pour obtenir la longueur mise à jour et stockez-la dans
nameLength - Affichez le message mis à jour :
Player name length: X(où X est la nouvelle valeur) - Affichez le score du joueur avec ce format :
Player score: 100
Aide-mémoire
L'opérateur d'accès conscient de null (?.) accède en toute sécurité aux propriétés sur des objets potentiellement null, empêchant les erreurs d'exécution.
Quand l'objet n'est pas null, il retourne la valeur de la propriété :
String? name = 'Dart';
int? length = name?.length; // Retourne 4Quand l'objet est null, il retourne null au lieu de planter :
String? name = null;
int? length = name?.length; // Retourne nullEssayez 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}");
}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
4Opérateurs Partie 2
Opérateurs de comparaisonET logiqueOU logiqueNON logiqueOpérateurs de test de typeRécapitulatif - Faire des comparaisons7Travailler avec les chaînes
Concaténation de chaînesInterpolation de chaînesChaînes multi-lignesPropriétés des chaînesMéthodes de base des chaînes10Collections - Bases des Maps
Que sont les Maps ?Créer une MapAccéder aux valeurs par cléPaires clé-valeurObtenir la taille d'une MapObtenir les clésObtenir les valeursVérifier si une clé existe2Variables et types de données de base
Qu'est-ce que les variables ?ChaînesEntiers (int)Doubles (double)Booléens (bool)Inférence de type avec 'var'Variables finalesVariables constantesConventions de nommageSécurité null de baseRécapitulatif - Déclaration des variables8Flux de contrôle - Boucles
La boucle 'for'La boucle 'while'La boucle 'do-while'Utiliser 'break' dans les bouclesUtiliser 'continue' dans les bouclesRécapitulatif - Répéter du code3Opérateurs Partie 1
Opérateurs arithmétiquesDivision entièreOpérateur moduloIncrémentation et décrémentationRaccourcis d'affectationRécapitulatif - Calculs simples6Flux de contrôle - Prise de décision
L'instruction 'if'L'instruction 'else'L'instruction 'else if'Récapitulatif - Décisions simplesInstructions 'if' imbriquéesL'instruction 'switch'9Collections - Bases des listes
Qu’est-ce qu’une liste ?Créer une listeAccéder par indexObtenir la longueur d’une listeAjouter des élémentsSupprimer des élémentsVérifier si une liste est videItérer sur une liste12Fonctions avancées
Paramètres positionnels optionnelsParamètres nommésParamètres nommés requisValeurs par défaut des paramètresRécap - Paramètres de fonction15Projet : Calculatrice simple
Mise en placeDéclaration d'un nombre