On Thu, Feb 21, 2013 at 9:12 AM, David Bruant <bruan...@gmail.com> wrote:
> Le 18/02/2013 23:29, Claus Reinke a écrit : > > >>>> What I'd like to understand is why likely static scoping problems >> should lead to a runtime error, forcing the dependence on testing. >> If they'd lead to compile time errors (for strict code), there'd be no >> chance of missing them on the developer engine, independent of incomplete >> test suite or ancient customer engines. Wouldn't that remove one of the >> concerns against using strict mode? What am I missing? >> > I guess it's too late now for ES5 strict mode. > What was the rationale behind making it a runtime error? > > I think there were plans to make it a compile-time error... was it with > the ES6 opt-in? :-s > Can it be retrofit in new syntax which are their own opt-in (module, > class...)? For the ES5 semantics of the interaction of the global scope and the global object, how could you make this a static error? What would you statically test? Would you statically reject the following program, where <someExpression> is itself just some valid expression computing a value (that might be the string "foo")? Note that "this" below is the global object, since it occurs at top level in a program. "use strict"; this[<someExpression>] = 8; console.log(foo); -- Cheers, --MarkM
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss