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
Planning & Specification Driven Development + GitHub Copilot
Integrare il Docker Model Runner in un workflow di GitHub
.NET Aspire vs Dapr: differenze, sovrapposizioni e integrazione
Creare un extension method per applicare condizionalmente una Where in una query LINQ per Entity Framework
Modificare lo stile in una QuickGrid Blazor
GitHub Copilot CLI in ambienti offline
Impostare la content-visibility in CSS per ottimizare il rendering iniziale di una pagina
Ottimizzare le API in ASP.NET con Feature Flags
Avviare rapidamente un container con Azure Container Apps Express
Validare i dati di una colonna JSON in SQL Server
Eseguire una ExecuteUpdateAsync senza usare un'expression con Entity Framework
Esporre tool MCP da API REST con Azure App Service


