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
Enterprise Live Migrations - Migrare da Azure DevOps a GitHub
Keynote .NET Conference Italia 2025
Gestire trasferimenti cloud con Azure Storage Mover
Azure SQL Database per dev: tutte le novità da non perdere
Eseguire i pre-commit hook di git con dependabot
Utilizzare le librerie native di .NET per comprimere uno o più file in formato ZIP
Validare i dati di una colonna JSON in SQL Server
Effettuare un clone parziale di un repository di GitHub
Utilizzare le direttive più importanti in una file based app .NET
Interagire con Azure DevOps tramite MCP Server
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Utilizzare noopener e noreferrer nei link HTML


