Nullish|OR Javascript Operator

Grazie agli operatori logici, possiamo assegnare condizionalmente dei valori alle nostre variabili in maniera più semplice. Cosa significa? Che nel caso in cui dobbiamo assegnare a una variabile un valore solo nel caso in cui sia null, undefined o falsy¹, anziche creare tutta la struttura di controllo, possiamo utilizzare gli operatori logici ??= e ||=

Logical nullish assignment ??=

let my_nullish_var;

// Only assigns a value if my_nullish_var is null or undefined
my_nullish_var ??= 'Assigned Value';

console.log(my_nullish_var); // OUTPUT: 'Assigned Value'

Il codice qui sopra equivale a

let my_nullish_var;

if ((my_nullish_var === null) || (my_nullish_var === undefined)) {
  my_nullish_var = 'Assigned Value';
}

Logical OR assignment ||=

let my_falsy_var;

// Only assign a value if my_falsy_var is falsy
my_falsy_var ||= 'Assigned Value'

console.log(my_falsy_var) // OUTPUT: 'Assigned Value'

Il codice qui sopra equivale a

let my_falsy_var;

if (!my_falsy_var) {
  my_falsy_var = 'Assigned Value';
}

¹ falsy: Un valore falsy (a volte scritto falsey) è un valore che è considerato falso quando si incontra in un test booleano. Ref. MDN Glossary Falsy