Utilizzare il Nullish Coalescing con TypeScript

di Stefano Mostarda,

Molto spesso capita di dover impostare il valore di una variabile in base al fatto che un'altra sia null o meno. Ad esempio, dobbiamo impostare una stringa di default da visualizzare se l'indirizzo di una persona non è specificato. In questi casi il codice da scrivere è molto semplice.

const address = person.address || "nessun indirizzo";

Questo piccolo esempio è perfettamente funzionante, ma presenta il problema di validare la truthiness di JavaScript e non l'esistenza o meno dell'indirizzo. Se vogliamo lavorare sull'esistenza dell'indirizzo, dovremmo confrontarlo con null o undefined scrivendo quindi un codice del genere.

const address = 
  person.address == null ||  person.address == undefined ? "nessun indirizzo" : person.address;

Questo esempio è più verboso rispetto al precedente, ma è semanticamente più corretto. Per rendere questo codice più compatto, possiamo ricorrere al Null Coalescing Operator "??".

const address = person.address ?? "nessun indirizzo";

L'operatore ?? valuta l'espressione di sinistra e se questa è null o undefined restituisce il valore di destra.
Questo operatore torna particolarmente utile quando combinato con l'optional chaining operator visto nello script #295.

const address = data?.address?.city?.id ?? "nessun indirizzo"

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi