Coalescence des valeurs nulles avec ??
Fournissez des valeurs par défaut uniquement pour null et undefined.
Coalescence des valeurs nulles avec ?? est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 4 leçons au total.
Fournir des valeurs par défaut
Vous avez souvent besoin d’une solution de repli lorsqu’une valeur est absente. L’opérateur de coalescence nulle permet de fournir proprement une valeur par défaut uniquement lorsque cela est nécessaire.
const name = undefined;
console.log(name ?? "Guest"); // "Guest"L’opérateur ??
L’opérateur formé de deux points d’interrogation renvoie la valeur de droite uniquement lorsque le côté gauche vaut null ou undefined.
console.log(null ?? "fallback"); // "fallback"
console.log(undefined ?? "fallback"); // "fallback"
console.log("hi" ?? "fallback"); // "hi"Pourquoi ne pas utiliser ||
Le OR logique || utilise comme solution de repli toute valeur fausse, notamment 0, "" et faux, ce qui est souvent incorrect pour des données réelles.
console.log(0 || 10); // 10 (probably unwanted)
console.log(0 ?? 10); // 0 (keeps the real value)Le cas de la chaîne vide
Avec ||, une chaîne vide intentionnelle est remplacée ; avec ??, elle est conservée, car "" n’est pas une valeur nulle ou indéfinie.
const note = "";
console.log(note || "none"); // "none"
console.log(note ?? "none"); // ""La valeur fausse est conservée
Une vraie valeur false est conservée par ??, mais serait remplacée par ||.
const enabled = false;
console.log(enabled ?? true); // false
console.log(enabled || true); // trueLire une configuration en toute sécurité
?? convient parfaitement aux paramètres pour lesquels 0 ou une valeur vide sont des choix valides que l’utilisateur peut sélectionner intentionnellement.
function getVolume(settings) {
return settings.volume ?? 50;
}
console.log(getVolume({ volume: 0 })); // 0Fonctionne avec les variables
Cet opérateur fonctionne avec toutes les expressions et renvoie le premier opérande qui n’est ni nul ni indéfini.
let cached = null;
const value = cached ?? computeValue();
function computeValue() { return 99; }
console.log(value); // 99Évaluation en court-circuit
Comme || et &&, ?? fonctionne en court-circuit : si le côté gauche n’est ni nul ni indéfini, le côté droit n’est jamais évalué.
function side() { console.log("called"); return 1; }
const x = "ready" ?? side(); // side() never runs
console.log(x);Impossible de combiner directement avec && ou ||
Combiner ?? avec && ou || sans parenthèses provoque une erreur de syntaxe, afin d’éviter toute ambiguïté.
const a = true, b = null;
// const c = a || b ?? 1; // SyntaxError
const c = (a || b) ?? 1;
console.log(c);Paramètres de fonction par défaut et ??
Les paramètres par défaut s’appliquent uniquement lorsqu’un argument vaut undefined. ?? gère également null lorsqu’il est transmis explicitement.
function greet(name = "Guest") { return "Hi " + name; }
console.log(greet(null)); // "Hi null"
function greet2(name) { return "Hi " + (name ?? "Guest"); }
console.log(greet2(null)); // "Hi Guest"Lequel choisir
Utilisez ?? lorsque 0, "" ou faux sont des valeurs valides que vous devez conserver. Utilisez || uniquement lorsqu’une valeur fausse quelconque doit déclencher la solution de repli.
const retries = 0;
console.log(retries ?? 3); // 0 keptVérification rapide
Comparez les opérateurs.
Récapitulatif
L’opérateur ?? renvoie le côté droit uniquement lorsque le côté gauche vaut null ou undefined, tout en conservant 0, "" et faux. Il est donc plus sûr que || pour fournir des valeurs par défaut avec des données réelles. Il fonctionne en court-circuit et ne peut pas être combiné avec &&/|| sans parenthèses.
Questions Fréquemment Posées
La leçon « Coalescence des valeurs nulles avec ?? » est-elle gratuite ?
Oui — le texte complet de « Coalescence des valeurs nulles avec ?? » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Coalescence des valeurs nulles avec ?? » ?
Fournissez des valeurs par défaut uniquement pour null et undefined. Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer JavaScript Academy ?
Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Coalescence des valeurs nulles avec ?? » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?
Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Chaînage optionnel avec l’opérateur ?.
- Coalescence des valeurs nulles avec ??
- Combiner ?. et ??
- Appels et accès par indice optionnels