Brendan Eich (2014-03-14T22:31:10.000Z)
domenic at domenicdenicola.com (2014-03-21T18:06:11.648Z)
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 ```js 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. 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.