Antes de dirigirnos hacia datos mutables o inmutables, inicialmente, necesitamos aclarar el concepto de almacenar datos en las variables de JavaScript. Las variables en JavaScript son capaces de almacenar dos tipos de valores de tipo primitivo o tipo de referencia.
Un total de siete tipos de datos primitivos están disponibles en JavaScript, mientras que hay tres tipos de datos de referencia. La principal diferencia entre ellos es, en el tipo de datos primitivos, la memoria se asigna en la pila, mientras que en el tipo de datos de referencia se asigna la memoria en el montón. Entonces, en resumen, el tipo de datos primitivos es el tipo de datos base, mientras que el tipo de datos de referencia es el objeto compuesto por varias características y estos objetos se pasan como referencia.
Datos mutables en JavaScript
Los objetos mutables se pueden modificar o revisar después de su creación, pero deben recordar, un objeto puede tener dos referencias, y también es posible que haya dos objetos con las mismas propiedades. Entonces, múltiples referencias para un objeto y dos objetos con características similares son dos cosas diferentes.
Implementación de datos mutables en JavaScript
Consideremos un ejemplo para comprender la mutabilidad en JavaScript.
Deje que el empleado1 = nombre: "Joe Clarke", edad: 35, id: 123, ciudad: 'Londres';Creamos un objeto llamado "Empleado1" y le asignamos algunas propiedades, en la segunda línea creamos una variable "Empleado2" y lo asignó la variable "Empleado1" lo que significa el "empleado2"Tendría las mismas propiedades que la "Empleado1".
Luego, creamos otra variable con el nombre de "Empleado3" y le asignamos algunas propiedades diferentes.
Por último, verificamos si "Empleado2" y "Empleado3" tiene las mismas propiedades que "Empleado1" O no.
La salida del código anterior será:
Ahora, veamos qué sucede si cambiamos el valor de "Empleado1", afectará las propiedades de "Empleado2"?
Vamos a modificar nuestro código:
Deje que el empleado1 = nombre: "Joe Clarke", edad: 35, id: 123, ciudad: 'Londres';Verifiquemos si afecta la propiedad de nombre de Empleado2 o no.
La salida de nuestro código modificado será:
Desde la salida dada anteriormente, podemos ver que los cambios que realizamos en la propiedad de "empleado1"Ha afectado el valor de"empleado2" también. Esto sucede porque "empleado2"Fue creado con la referencia de "Empleado1".
Datos inmutables en JavaScript
La inmutabilidad se refiere a los valores primitivos como la cadena o el número, etc. y en JavaScript, no podemos modificarlos, pero podemos reasignarlos con algunos valores nuevos.
Implementación de datos inmutables en JavaScript
El ejemplo dado a continuación lo ayudará a comprender los tipos de datos inmutables.
var empleado1 = 'daniel';Creamos una variable y le asignamos un valor. Luego creamos otra variable y la asignamos la primera variable como se resalta en la captura de pantalla dada por debajo.
Ahora examinemos la salida, verá que ambas variables muestran la misma salida:
Ahora cambie el valor de "empleado1"Y observar, ¿cambiará el valor de"empleado2"También sigue siendo el mismo:
var empleado1 = 'daniel';Ahora, observe la salida:
El ejemplo aclara que cuando cambiamos el valor de empleado1, No afecta el valor de la segunda variable, lo que significa que JavaScript los trata a ambos como variables separadas.
Conclusión
Los datos mutables se pueden modificar en cualquier punto, mientras que los datos inmutables se contradicen con los datos mutables, ya que no se pueden cambiar. En esta publicación, explicamos la diferencia entre los tipos de datos primitivos y los tipos de referencia. Luego entendimos la idea de datos mutables e inmutables, para este propósito tomamos algunos ejemplos y los implementamos en JavaScript. Finalmente, podemos concluir que si cambiamos un valor de la variable de referencia también mutará el valor original, pero la variable primitiva no muta.