Assigning to globals in strict mode

Jason Orendorff jason.orendorff at
Tue Oct 19 13:54:14 PDT 2010

On Tue, Oct 19, 2010 at 3:18 PM, Jason Orendorff
<jason.orendorff at> wrote:
> Otherwise let's leave it.

By that, I mean: just change the NOTE to give pointers to the other
sections of the spec where it already explicitly says that those two
exceptions are thrown.

I think Oliver's interpretation is a stretch. If the spec really
intended a check between steps 1 and 2 of section 11.13.1, there would
be a step there. It wouldn't be specified out of line, in vague
language, in a paragraph labeled "NOTE".

And I think I mostly prefer the behavior it specifies. We cannot
remove the existing checks in PutValue and [[DefineOwnProperty]].
Other things being equal, one check is simpler than two. More checks
mean more ways to fail; it means you need more code, and more test
cases to cover the bases. If we're buying an important invariant
that's going to help users, great, let's spend the complexity. But I
don't see it yet.


More information about the es5-discuss mailing list