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
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Integrare SQL Server in un progetto .NET Aspire
Utilizzare Hybrid Cache in .NET 9
Utilizzare Intersect e Except per filtrare set di dati in TSql
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Collegare applicazioni server e client con .NET Aspire
Potenziare la ricerca su Cosmos DB con Full Text Search
Ridurre il reflow cambiando il CSS
Gestire codice JavaScript con code splitting e lazy loading
Eliminare record doppi in Sql Server
Utilizzare WhenEach per processare i risultati di una lista di task
I più letti di oggi
- Analizzare il contenuto di una issue con GitHub Models e AI
- Integrare OpenAI tramite Aspire
- Interagire con Azure DevOps tramite MCP Server
- Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9