Just realised this is probably covered by the frozen realms proposal: https://github.com/FUDCo/proposal-frozen-realms
Jeremy Nagel On Wed, Nov 9, 2016 at 11:33 AM, jeremy nagel <[email protected]> wrote: > Ok I may have been misusing terminology. What I mean is more of a deeply > frozen object along the lines of what happens with https://www.npmjs.com/ > package/deep-freeze > > The argument for it would be that we've had quite a few bugs where other > modules have modified an instance of an object that gets passed around. We > now often deep clone parameters at the start of methods to avoid this > happening. Would be nicer if deep clone was not required as that has a > performance hit. > > Edge cases where custom getters or setters could be avoided by throwing an > error if someone attempted to do `frozen/final/whateverTheTermWouldBe > someComplexObjWithGetters = ...` > > Jeremy Nagel > 0414 885 787 > > On Wed, Nov 9, 2016 at 4:58 AM, Isiah Meadows <[email protected]> > wrote: > >> JS doesn't have immutable types, which is why `Object.freeze` simply says >> "don't change this object's own properties". Frozen objects make for nice >> enumerated types, but JS has no notion of immutability. Additionally, you >> have to take into account the internal slots, which freezing objects has no >> effect on (it only has an effect with the internal `object.[[Get]]` and >> `object.[[Set]]` methods). >> >> ----- >> >> Isiah Meadows >> [email protected] >> >> On Tue, Nov 8, 2016 at 8:57 AM, Reinis Ivanovs <[email protected]> wrote: >> >>> This idea sounds like having a version of the `const` keyword that also >>> freezes objects, but that's a far cray from what Immutable.js does, which >>> is about persistent data and collection methods. Freezing also doesn't work >>> on things that use mutator methods like Map or Set, so it'd be confusing. >>> >>> On Tue, Nov 8, 2016 at 7:30 AM, jeremy nagel <[email protected]> >>> wrote: >>> >>>> Hi, >>>> was just chatting to colleagues about the utility of *const*. The fact >>>> that it doesn't actually lead to immutable objects or arrays seems to make >>>> it a bit toothless and misleading. Are there any proposals to have an >>>> immutable version of const? I know you could use ImmutableJS but it would >>>> be nice to have this part of the language. >>>> >>>> Perhaps the keyword could be *final*. >>>> >>>> cheers, >>>> Jeremy >>>> >>>> _______________________________________________ >>>> es-discuss mailing list >>>> [email protected] >>>> https://mail.mozilla.org/listinfo/es-discuss >>>> >>>> >>> >>> _______________________________________________ >>> es-discuss mailing list >>> [email protected] >>> https://mail.mozilla.org/listinfo/es-discuss >>> >>> >> >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

