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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Potenziare la ricerca su Cosmos DB con Full Text Search
Effettuare il refresh dei dati di una QuickGrid di Blazor
Definire stili a livello di libreria in Angular
Ottimizzazione dei block template in Angular 17
Eliminare una project wiki di Azure DevOps
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Creare una custom property in GitHub
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Utilizzare Azure AI Studio per testare i modelli AI
Gestione file Javascript in Blazor con .NET 9
Escludere alcuni file da GitHub Secret Scanning