A causa della natura non tipizzata di JavaScript, accade spesso che in un oggetto vi possano essere proprietà non volute o che, per scelta, non vogliamo avere. Pensiamo a un oggetto persona che contiene dati sensibili e che deve essere anonimizzato al momento del salvataggio.
In quest casi abbiamo a disposizione l'operatore delete, il quale però va a modificare la natura dell'oggetto stesso; questo approccio può risultare dannoso quando l'architettura dell'applicazione è basata sugli stati e predilige l'utilizzo di oggetti immutabili.
Con l'utilizzo dell'operatore rest (...) si può arrivare allo stesso obbiettivo senza intaccare l'oggetto originario.
const persona = { nome: "Morgan", anno: 1992, citta: "Milano" }; const { nome, ...p } = persona; console.log(nome); // "Morgan" console.log(p); // { anno: 1992, citta: "Milano" }
Utilizzando la stessa sintassi è anche possibile rimuovere una proprietà dinamica, senza definirla a priori
const propDaRimuovere = 'nome', const persona = { nome: "Morgan", anno: 1992, citta: "Milano" }; const { [propDaRimuovere] : r, ...p } = persona; console.log(r); // "Morgan" console.log(p); // { anno: 1992, citta: "Milano" }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Load test di ASP.NET Core con k6
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Short-circuiting della Pipeline in ASP.NET Core
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Recuperare un elemento inserito nella cache del browser tramite API JavaScript
Utilizzare le collection expression in C#
Creare moduli CSS in React
Utilizzare Model as a Service su Microsoft Azure
3 metodi JavaScript che ogni applicazione web dovrebbe contenere - Parte 2
Eseguire attività pianificate con Azure Container Jobs
Usare un KeyedService di default in ASP.NET Core 8
Copiare automaticamente le secret tra più repository di GitHub