Opérateur null-aware
Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 28 sur 94.
L'opérateur null-aware (??) renvoie l'expression de gauche si elle n'est pas null, sinon renvoie l'expression de droite.
void main() {
String? name = 'Dart';
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
String? name = null;
String displayName = name ?? 'Guest';
print('Hello, $displayName!');
}void main() {
int? score; // Pas de valeur initiale, par défaut null
int displayScore = score ?? 0;
print('Your score: $displayScore');
// Plus tard dans le programme, score reçoit une valeur
score = 100;
displayScore = score ?? 0;
print('Your updated score: $displayScore');
}Défi
FacileCréez un programme qui démontre l'opérateur null-aware (??) en Dart :
- Déclarez une variable String nullable nommée
usernameet définissez-la ànull - Déclarez une variable int nullable nommée
userAgeet définissez-la ànull - Utilisez l'opérateur null-aware pour assigner une valeur par défaut de
"Guest"à une nouvelle variabledisplayNamesiusernameest null - Utilisez l'opérateur null-aware pour assigner une valeur par défaut de
18à une nouvelle variabledisplayAgesiuserAgeest null - Affichez les valeurs avec le format EXACT suivant :
Username: Guest (default value used)
Age: 18 (default value used)Ensuite :
- Mettez à jour
usernameà"DartUser" - Mettez à jour
userAgeà25 - Répétez les étapes 3 et 4 avec les valeurs mises à jour
- Affichez les valeurs avec le format EXACT suivant :
Username: DartUser (original value used)
Age: 25 (original value used)Aide-mémoire
Le opérateur de fusion null (??) renvoie l'expression de gauche si elle n'est pas null, sinon renvoie l'expression de droite.
String? name = null;
String displayName = name ?? 'Guest'; // Renvoie 'Guest' car name est null
int? score = 100;
int displayScore = score ?? 0; // Renvoie 100 car score n'est pas nullEssayez vous-même
void main() {
// Déclarer des variables nullables
String? username = _;
int? userAge = _;
// Utiliser l'opérateur null-aware pour les valeurs par défaut
String displayName = username ?? _;
int displayAge = userAge ?? _;
// Afficher les valeurs initiales
print("Username: $displayName (default value used)");
print("Age: $displayAge (default value used)");
// Mettre à jour les variables
username = _;
userAge = _;
// Utiliser à nouveau l'opérateur null-aware
displayName = username _ "Guest";
displayAge = userAge _ 18;
// Afficher les valeurs mises à jour
print("Username: $displayName (original value used)");
print("Age: $displayAge (original value used)");
}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