ES2019 introduce la possibilità di effettuare operazioni utilizzando il Nullish coalescing, consentendo di estrarre un dato da un oggetto controllando prima che non sia nullo.
Questa sintassi permette di facilitare la scrittura di codice e al tempo stesso aumentarne la leggibilità.
// se la persona è null l'operazione fallisce // se eta = 0 restituisce 1 var t = persona.eta || 1; // controllo l'esistenza dell'oggetto prima dell'assegnazione var t = ""; if(persona){ var t = persona.eta || 1; } // Nullish coalescing var t = persona?.eta ?? 1
Il Nullish coalescing risulta utile quando l'operazione è diretta verso un unico parametro, ma nel caso di più parametri o oggetti è consigliato l'utilizzo della decostruzione
const getNumber = (ogg) => ogg?.num ?? 1; const getNumber1 = ({ num = 15 } = {}) => num; var t = getNumber({num: 10}) // t = 10 var t1 = getNumber1({}) // t = 15
Il vantaggio nella seconda versione (getNumber1) è l'innegabile elasticità che può assumere la funzione: possiamo aggiungere più parametri opzionali ed interagire con essi mantenendo un'ottima pulizia e lettura.
const getNumber = (ogg) => { var n = ogg?.num ?? 1 var n1 = ogg?.num1 ?? 2 return n*n1; }; const getNumber1 = ({ num = 15, num1 = 10} = {}) => num*num1;
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Effettuare il binding di date in Blazor
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Generare file PDF da Blazor WebAssembly con iText
Evitare la script injection nelle GitHub Actions
Routing statico e PreRendering in una Blazor Web App
Definire stili a livello di libreria in Angular
Usare una container image come runner di GitHub Actions
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Assegnare un valore di default a un parametro di una lambda in C#
Specificare il versioning nel path degli URL in ASP.NET Web API
Reactive form tipizzati con FormBuilder in Angular
I più letti di oggi
- Vuoi incontrare Bill Gates? Viaggia con ASPItalia.com!
- Customizzare il pager del DataGrid
- Stabilire un collegamento VPN tra una Web App e una Virtual Network
- Documentare ASP.NET Web API con Swagger
- Usare i servizi REST di BING per ottenere informazioni sulla posizione dell'utente
- Visual Studio 2005 CTP May