Dati mutabili e immutabili in JavaScript

Dati mutabili e immutabili in JavaScript
Il termine mutabilità significa mutevole; Il concetto di mutabilità può essere applicato solo a oggetti e array in JavaScript. Il concetto di mutabilità non può essere applicato a dati primitivi come stringa, booleano, numero, ecc. Mentre i dati immutabili si riferiscono a dati primitivi il cui stato non può essere modificato. In questo post, capiremo la differenza tra dati mutabili e dati immutabili con l'aiuto di alcuni esempi.

Prima di dirigerci verso dati mutabili o immutabili, inizialmente, dobbiamo chiarire il concetto di archiviazione dei dati nelle variabili JavaScript. Le variabili in JavaScript sono in grado di archiviare due tipi di valori o tipo primitivo o tipo di riferimento.

Totale sette tipi di dati primitivi sono disponibili in JavaScript mentre ci sono tre tipi di dati di riferimento. La differenza principale tra loro è, nel tipo di dati primitivi, la memoria viene assegnata nello stack mentre nel tipo di dati di riferimento La memoria viene assegnata nel heap. Quindi, in breve, il tipo di dati primitivi è il tipo di dati di base mentre il tipo di dati di riferimento è l'oggetto costituito da diverse funzionalità e questi oggetti vengono passati come riferimento.

Dati mutabili in JavaScript

Gli oggetti mutabili possono essere modificati o rivisti dopo la loro creazione, ma deve ricordare, un oggetto può avere due riferimenti ed è anche possibile che ci siano due oggetti con le stesse proprietà. Quindi, più riferimenti per un oggetto e due oggetti con caratteristiche simili sono due cose diverse.

Implementazione di dati mutabili in JavaScript

Consideriamo un esempio per comprendere la mutabilità in JavaScript.

let dipendente1 = nome: "Joe Clarke", età: 35, id: 123, città: 'London';
let Employee2 = Employee1;
let Employee3 = Nome: "Joe Denly", Età: 25, Id: 121, Città: 'Birmingham';
console.log ("controlla se dipendente1 = dipendente2", dipendente1 === dipendente2);
console.log ("controlla se dipendente1 = dipendente3", dipendente1 === dipendente3);

Abbiamo creato un oggetto chiamato "Employee1" e le assegnate alcune proprietà, nella seconda riga abbiamo creato una variabile "Employee2" e lo ha assegnato la variabile "Employee1" il che significa il "dipendente2"Avrebbero le stesse proprietà del "Employee1".

Successivamente, creiamo un'altra variabile con il nome di "Employee3" E le assegniamo alcune proprietà diverse.

Infine, abbiamo verificato se "Employee2" E "Employee3" ha le stesse proprietà di "Employee1" o no.

L'output del codice sopra sarà:

Ora, vediamo cosa succede se cambiamo il valore di "Employee1", influenzerà le proprietà di "Employee2"?

Modifichiamo il nostro codice:

let dipendente1 = nome: "Joe Clarke", età: 35, id: 123, città: 'London';
let Employee2 = Employee1;
dipendente1.name = "Dean Elgar";
console.log ("valori aggiornati del dipendente1:", dipendente1);
console.log ("valori aggiornati del dipendente2:", dipendente2);

Controlliamo se influisce sul nome di proprietà del dipendente o no.

L'output per il nostro codice modificato sarà:

Dall'output di cui sopra, possiamo vedere che le modifiche che apportiamo nella proprietà di "dipendente1"Ha influito sul valore di"dipendente2" anche. Questo accade perché "dipendente2"È stato creato con il riferimento di "Employee1".

Dati immutabili in JavaScript

L'immutabilità si riferisce ai valori primitivi come la stringa o il numero, ecc. E in JavaScript, non possiamo modificarli ma possiamo riassegnarli con alcuni nuovi valori.

Implementazione di dati immutabili in JavaScript

L'esempio seguente ti aiuterà a comprendere i tipi di dati immutabili.

var dipendente1 = 'Daniel';
VAR Employee2 = Employee1;
console.log ("Nome del primo dipendente:", dipendente1);
console.log ("nome del secondo dipendente:", dipendente2);

Abbiamo creato una variabile e ci abbiamo assegnato un valore. Quindi abbiamo creato un'altra variabile e l'abbiamo assegnata la prima variabile come evidenziata nello screenshot di seguito.

Ora esaminiamo l'output, vedrai che entrambe le variabili mostrano lo stesso output:

Ora cambia il valore di "dipendente1"E osserva, cambierà il valore di"dipendente2"Inoltre o rimangono lo stesso:

var dipendente1 = 'Daniel';
VAR Employee2 = Employee1;
console.log ("Nome del primo dipendente:", dipendente1);
console.log ("nome del secondo dipendente:", dipendente2);
VAR Employee1 = 'Bryn';
console.log ("Nome aggiornato del 1 ° dipendente:", dipendente1);
console.log ("Nome aggiornato del 2 ° dipendente:", dipendente2);

Ora, osserva l'output:

L'esempio chiarisce che quando cambiamo il valore di dipendente1, Non influisce sul valore della seconda variabile, il che significa che JavaScript li tratta entrambi come variabili separate.

Conclusione

I dati mutabili possono essere modificati in qualsiasi momento mentre i dati immutabili contraddicono con i dati mutabili in quanto non possono essere modificati. In questo post, abbiamo spiegato la differenza tra tipi di dati primitivi e tipi di riferimento. Quindi abbiamo capito l'idea di dati mutabili e immutabili, a questo scopo abbiamo preso alcuni esempi e li abbiamo implementati in JavaScript. Infine, possiamo concludere che se cambiamo un valore della variabile di riferimento muterà anche il valore originale, ma la variabile primitiva non si muta.