Nullish Coalescing

JavaScript 🟢 Junior

Definition

Operateur ?? qui retourne la valeur de droite uniquement si celle de gauche est null ou undefined (pas pour 0, '' ou false, contrairement a ||).

Analogie

Un filet de securite qui ne se declenche que si le trapeziste est vraiment absent (null/undefined), pas s'il est juste petit (0) ou silencieux ('').

Exemple de code

const port = config.port ?? 3000;
// vs ||
0 || 3000;  // 3000 (bug!)
0 ?? 3000;  // 0 (correct)
'' ?? 'default'; // '' (correct)

Cas d'usage

Definir des valeurs par defaut en preservant les valeurs falsy legitimes comme 0, '' ou false.

#core#ES2020#syntaxe