Nullish Coalescing
JavaScript 🟢 JuniorType : Concept
Definition
L'operateur ?? retourne l'operande de droite uniquement si celui de gauche est null ou undefined. Contrairement a ||, il ne reagit pas aux valeurs falsy comme 0 ou ''.
Analogie
Un plan B uniquement quand il n'y a vraiment rien : 0 et une chaine vide sont des reponses valides, pas des absences.
Exemple de code
const port = config.port ?? 3000;
const name = user.name ?? class="str">39;Anonyme39;;
class="cmt">// 0 ?? 42 => 0 (pas falsy-based)
class="cmt">// 0 || 42 => 42 (falsy-based)Cas d'usage
Definir des valeurs par defaut sans ecraser les valeurs falsy legitimes comme 0 ou false.