On Jun 14, 2012, at 3:49 PM, Rick Waldron wrote:
>
>
> On Thu, Jun 14, 2012 at 5:35 PM, Thaddee Tyl <[email protected]> wrote:
> On Thu, Jun 14, 2012 at 3:29 PM, Allen Wirfs-Brock
> <[email protected]> wrote:
> > This is a different issue, but I wonder how badly the web would break if we
> > made undefined a reserved word. Does anybody in JS really declare a
> > different local binding for undefined? In ES5 we got away with making
> > undefined read-only. Maybe we should continue pushing and see if we can
> > eliminate the rebindable undefined hazard.
>
> JQuery [1] famously has an "undefined" parameter, like so:
>
> (function( window, undefined ) { … }(window))
>
>
> Actually, this exists because undefined wasn't reserved. We would certainly
> remove the formal param in favor of an reserved undefined. Unfortunately, we
> can't "take it back" in extant code.
A wonder if this wart is hairy enough, that we wouldn't be justified in some
explicit backwards compatibility hackery in the spec. to remove it.
For example, we could allow it to appear in parameter lists and provide a
dynamic check to ensure that nothing (other than a real undefined) is passed.
Similarly we could explicitly allow:
var undefined;
Certainly there is no particular reasons we need to allow:
let undefined;
const undefined=true;
class undefined extends foo { }
or any other new binding forms redefining undefined.
Allen
>
>
> Rick
>
>
>
>
> What would happen in this case?
>
> [1] http://code.jquery.com/jquery-1.7.2.js
> _______________________________________________
> 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