Mutabilidad vs Inmutabilidad en Programación JavaScript
Clase 3 de 28 • Curso de Manipulación de Arrays en JavaScript
Contenido del curso
- 2

Recorrido de Arrays con Foreach en JavaScript
09:35 - 3

Mutabilidad vs Inmutabilidad en Programación JavaScript
04:17 - 4

Uso de Map para Transformaciones en JavaScript y Renderizado HTML
07:28 - 5
Playground: multiplica todos los elementos por dos
00:00 - 6

Transformaciones avanzadas con map en JavaScript
09:59 - 7
Playground: calcula y agrega nuevas propiedades a un array
00:00 - 8

Filtrado de Arrays en JavaScript con el Método Filter
12:41 - 9
Playground: retorna solo palabras de 4 letras o más
00:00 - 10

Uso del método reduce en JavaScript para sumar elementos de un array
07:09 - 11

Contar elementos en un array con reduce y agrupar por rango
10:29 - 12
Playground: calcula la suma total de elementos en un array
00:00
- 13

Uso de la función "sum" en JavaScript para evaluar condiciones
11:45 - 14
Playground: ¿al menos 1 de los números es par?
00:00 - 15

Uso del método `every` en JavaScript para validaciones de arrays
04:13 - 16
Playground: retorna un booleano si todos los elementos son pares
00:00 - 17

Uso de los métodos find y findIndex en JavaScript
06:20 - 18

Uso del método includes en JavaScript para arrays y strings
04:59 - 19
Playground: buscador de palabras con parámetros de búsqueda
00:00 - 20

Unificación y separación de arrays con join y split en JavaScript
07:02 - 21
Playground: construye URLs a partir de strings
00:00 - 22

Fusión de Arrays con Concat y Operador Spread en JavaScript
09:35 - 23

Aplanar Arrays en JavaScript con Flat y FlatMap
06:45 - 24

Uso de FlatMap para Extraer Fechas de Calendarios en JavaScript
09:22 - 25
Playground: calcula el total de palabras en un texto
00:00 - 26

Métodos Mutables e Inmutables en Arrays: Manipulación y Búsqueda
10:27 - 27

Ordenamiento de Arrays con el Método Sort en JavaScript
07:13
Los conceptos de mutabilidad e inmutabilidad son muy importantes para los siguientes métodos de arrays. Existen métodos mutables que cambian el array original; e inmutables que devuelven un array diferente al original.
Referencias en memoria
En JavaScript, cada estructura está guardada en una referencia en memoria, por lo que si cambiamos un elemento en el array, también lo haremos en esa referencia. Al clonar arrays, se crea un nuevo array que tiene las mismas referencias en memoria que el original, por lo que si se realiza un cambio en el original, también cambiará en la copia.
const original = [1,2,3]
const copia = original
copia[0] = "Hola"
console.log(original) // [ 'Hola', 2, 3 ]
Diferencia entre mutabilidad e inmutabilidad
Con lo mencionado anteriormente, mutable es aquella acción que cambia el valor en la referencia en memoria del elemento del array original, provocando que cambien el original y la copia. Inmutable es la acción en la que se cambia el valor, pero en una referencia diferente del original, provocando que el original siga igual.
La mutabilidad es más flexible y una buena opción si se requiere cambiar, actualizar o eliminar datos; pero esto puede ocasionar fallos o resultados erróneos en nuestra aplicación. La inmutabilidad es más exigente, te permite generar nuevas estructuras para manejarlas sin cambiar la original; pero esto puede provocar que la memoria colapse.
Por lo que, ¿cuál es mejor? La respuesta es ninguna, cada uno te permite manejar estructuras de datos, por ende es necesario identificar cuál forma es la adecuada a aplicar en un algoritmo.
Contribución creada por: Andrés Guano.