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
Recuperare gli audit log in Azure DevOps
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Creare una libreria CSS universale: Cards
Aggiornare a .NET 9 su Azure App Service
Ridurre il reflow ottimizzando il CSS
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Il nuovo controllo Range di Blazor 9
Eliminare una project wiki di Azure DevOps
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Eliminare record doppi in Sql Server
I più letti di oggi
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- Gestione ciclo di vita in .NET Aspire
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gestione file Javascript in Blazor con .NET 9
- Gestione CSS in Blazor con .NET 9