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

Reply via email to