Utilizzare la deconstruction in combinazione con l'operatore rest di Javascript

di Morgan Pizzini,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi