Utilizando inmutabilidad en nuestras funciones
Clase 9 de 23 • Curso de Programación Funcional en JavaScript por Bedu
Resumen
Otra característica de las funciones puras es la inmutabilidad. Si necesitamos modificar el valor de los parámetros que reciben nuestras funciones, debemos copiar el valor de los argumentos y modificar estas nuevas variables, así evitamos modificar innecesariamente variables con las que nuestras funciones puras no tienen nada que ver.
Ejemplo:
// Con mutaciones
const addToList = (list, item, quantity) => {
list.push({ // modificamos el argumento `list`
item,
quantity
})
return list
}
// Sin mutaciones (inmutabilidad)
const addToList = (list, item, quantity) => {
const newList = JSON.parse(JSON.stringify(list))
newList.push({ // modificamos la copia del argumento
item,
quantity
})
return newList
}