Propiedad de un objeto o dato que no puede cambiar después de su creación.
Las estructuras inmutables son comunes en programación funcional y ayudan a prevenir errores relacionados con el cambio de estado.
// Strings son inmutables en JavaScript const str = 'Hola'; str[0] = 'X'; // No tiene efecto console.log(str); // 'Hola' // Crear "copia modificada" en lugar de mutar const nuevoStr = 'X' + str.slice(1); // 'Xola' // Arrays - evitar mutación const original = [1, 2, 3]; // ❌ Muta el original original.push(4); // ✅ Crear nuevo array (inmutable) const nuevo = [...original, 4]; const filtrado = original.filter(x => x > 1); const mapeado = original.map(x => x * 2); // Objetos inmutables const usuario = { nombre: 'Juan', edad: 30 }; // ✅ Crear nuevo objeto const actualizado = { ...usuario, edad: 31 }; // Bibliotecas para inmutabilidad // - Immer // - Immutable.js import { produce } from 'immer'; const nuevoEstado = produce(estado, draft => { draft.usuario.nombre = 'Pedro'; });