Preguntas etiquetadas con immutability

145
Eliminar una propiedad en un objeto inmutable

Estoy usando Redux En mi reductor estoy tratando de eliminar una propiedad de un objeto como este: const state = { a: '1', b: '2', c: { x: '42', y: '43' }, } Y quiero tener algo como esto sin tener que mutar el estado original: const newState = { a: '1', b: '2', c: { x: '42', }, } Lo...

136
Enums en Javascript con ES6

Estoy reconstruyendo un antiguo proyecto Java en Javascript, y me di cuenta de que no hay una buena manera de hacer enumeraciones en JS. Lo mejor que se me ocurre es: const Colors = { RED: Symbol("red"), BLUE: Symbol("blue"), GREEN: Symbol("green") }; Object.freeze(Colors); El constguarda...

115
Colecciones inmutables de Java

De la documentación de Java 1.6 Collection Framework : Las colecciones que no admiten ninguna operación de modificación (como add, removey clear) se denominan no modificables . [...] Las colecciones que además garantizan que ningún cambio en el objeto de la colección será visible se denominan...

113
¿Cómo creo una clase inmutable?

Estoy trabajando para crear una clase inmutable. He marcado todas las propiedades como de solo lectura. Tengo una lista de elementos de la clase. Aunque si la propiedad es de solo lectura, la lista se puede modificar. Exponer el IEnumerable de la lista lo hace inmutable. Quería saber cuáles...

103
¿Qué significa inmutable?

Si una cadena es inmutable, ¿eso significa que .... (supongamos JavaScript) var str = 'foo'; alert(str.substr(1)); // oo alert(str); // foo ¿Significa que, al llamar a métodos en una cadena, devolverá la cadena modificada, pero no cambiará la cadena inicial? Si la cadena fuera mutable, ¿eso...

102
Eliminar valor del objeto sin mutación

¿Cuál es una forma buena y breve de eliminar un valor de un objeto en una clave específica sin alterar el objeto original? Me gustaría hacer algo como: let o = {firstname: 'Jane', lastname: 'Doe'}; let o2 = doSomething(o, 'lastname'); console.log(o.lastname); // 'Doe' console.log(o2.lastname);...

101
Es entero inmutable

Sé que esto probablemente sea muy estúpido, pero muchos lugares afirman que la clase Integer en Java es inmutable, pero el siguiente código: Integer a=3; Integer b=3; a+=b; System.out.println(a); Se ejecuta sin ningún problema para dar el resultado (esperado) 6. Así que efectivamente el valor de...

93
¿Python tiene una lista inmutable?

¿Python tiene listas inmutables? Supongamos que deseo tener la funcionalidad de una colección ordenada de elementos, pero que quiero garantizar que no cambiará, ¿cómo se puede implementar? Las listas están ordenadas pero se pueden modificar.