Why is immutability so important (or needed) in JavaScript?

Actualmente estoy trabajando enReaccionar JS yReaccionar nativo marcos. En la mitad del camino me encontré con la inmutabilidad o elBiblioteca Inmutable-JS, cuando estaba leyendo sobre la implementación de Facebook Flux y Redux.

La pregunta es, ¿por qué es tan importante la inmutabilidad? ¿Qué tiene de malo mutar objetos? ¿No hace las cosas simples?

Dando un ejemplo, consideremos un simpleLector de noticias aplicación con la pantalla de inicio como una vista de lista de titulares de noticias.

Si configuro decir unconjunto de objetos con un valorinicialmente No puedo manipularlo. Eso es lo que dice el principio de inmutabilidad, ¿verdad? (Corrígeme si me equivoco). Pero, ¿qué pasa si tengo un nuevo objeto de Noticias que tiene que actualizarse? En el caso habitual, podría haber agregado el objeto a la matriz. ¿Cómo lo logro en este caso? ¿Eliminar la tienda y recrearla? ¿Agregar un objeto a la matriz no es una operación menos costosa?

PD: Si el ejemplo no es la forma correcta de explicar la inmutabilidad, hágame saber cuál es el ejemplo práctico correcto.