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 }