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
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Recuperare App Service cancellati su Azure
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Filtering sulle colonne in una QuickGrid di Blazor
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Introduzione ai web component HTML
Generare la software bill of material (SBOM) in GitHub
Creare una custom property in GitHub
Creare una libreria CSS universale: Nav menu
Configurare lo startup di applicazioni server e client con .NET Aspire
I più letti di oggi
- Creare un router per Single Page Application con l'evento navigate
- Serializzazione e deserializzazione JSON in JavaScript
- Utilizzare app-shell per rendere un'applicazione Angular più responsiva alla partenza
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!