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
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Utilizzare i variable font nel CSS
Gestire il colore CSS con HWB
Aggiornare a .NET 9 su Azure App Service
Creare una libreria CSS universale: Nav menu
Creare agenti facilmente con Azure AI Agent Service
Introduzione ai web component HTML
Usare le navigation property in QuickGrid di Blazor
Creare una libreria CSS universale - Rotazione degli elementi
Ottimizzare le performance usando Span<T> e il metodo Split
Ordinare randomicamente una lista in C#