On Fri, Mar 14, 2014 at 3:31 PM, Brendan Eich <bren...@mozilla.org> wrote:

> Geoffrey Garen wrote:
>
>> I suggested to Oliver that we accept "Identifier = Expression in
>> Expression” as valid syntax, but drop "= Expression” from the parse tree
>> after the fact.
>>
>
> Note that the issue here is only legacy that uses 'var' before Identifier.
> So you can't be sure of no compat break, since
>
> for (var x = 'haha' in {});
>
> with no enumerable properties on Object.prototype will iterate zero times,
> and the hoisted var x will be initialized to 'haha' and available after the
> loop.
>
>
>  That way, we can still almost completely remove the construct from the
>> language without harming web compatibility.
>>
>
> I wish. But let's just evangelize the site, and any others that use this
> botch from the ancient world (JScript => ES1).
>
>
>  I don’t see much value in making this decision based on strict mode. So
>> far, we’ve got nothing but trouble from policies like that.
>>
>
Your "nothing but" claim is so silly it doesn't need a serious response.
There are a zillion counter-examples starting with lexical scoping.

But leaving aside the "nothing but" silliness, what trouble do you have in
mind?



>
> I agree we shouldn't fuss with strict mode, it doesn't pay. We should
> impulse-shoot the bad old form, right between the eyes, in ES6.


Hey, if we can kill the bad feature completely, great. The strict mode
suggestion is only relevant if we can't kill it is sloppy mode.



>
>
> /be
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>



-- 
    Cheers,
    --MarkM
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to