domenic at domenicdenicola.com (2014-10-15T18:42:08.421Z)
Good point. If we can require all such assignments to be rejected statically, why is a runtime assignment to a const variable even possible? Can't we just assert that this cannot occur?
Good point. If we can require all such assignments to be rejected statically, why is a runtime assignment to a const variable even possible? Can't we just assert that this cannot occur?
Good point. If we can require all such assignments to be rejected statically, why is a runtime assignment to a const variable even possible? Can't we just assert that this cannot occur? On Wed, Oct 1, 2014 at 8:59 AM, Allen Wirfs-Brock <allen at wirfs-brock.com> wrote: > > On Oct 1, 2014, at 8:39 AM, Mark S. Miller wrote: > > ... > > I was with you until you got to the following point > > > > > If there is an intervening "with" or sloppy direct eval, then there is > not a statically apparent assignment to a const variable. Since this can > only occur in sloppy code anyway, it seems more consistent with the rest of > sloppy mode for this failed assignment to be silent, rather than > dynamically throwing an error. > > > > const is a new kind of declaration unlike any declaration form that > previous existed in ES, so Ii don't think its handling introduces any > legacy consistency issues. If somebody is using const, regard less of > mode, they pretty clearly expect assignments to any const bindings to be > illegal. And, I don't think any body wants new silent failure errors, even > in sloppy mode. The most consistent thing is for runtime detected > assignments to const bindings to always be noisy errors. Early where > possible, at runtime in the rest of the cases. > > Allen > > -- Cheers, --MarkM -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20141001/05de9669/attachment.html>