Recall

Mutable vs Inmutable

Documentation / Aditional

How to handle immutability in JavaScript

Immutable Data | Redux

Notes

// 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
}

<aside> 💡 En JavaScript, es importante no confundir const, con inmutabilidad. const crea un enlace de nombre de variable que no se puede reasignar después de la creación. const no crea objetos inmutables. No puede cambiar el objeto al que se refiere el enlace, pero aún puede cambiar las propiedades del objeto, lo que significa que los enlaces creados con const son mutables, no inmutables.

</aside>

<aside> 📌 SUMMARY: No mutar las variables. Generar copia primero.

</aside>