W3C home > Mailing lists > Public > public-script-coord@w3.org > January to March 2012

Re: variable declarations shadowing named properties on window

From: Ojan Vafai <ojan@chromium.org>
Date: Thu, 5 Jan 2012 15:35:59 -0800
Message-ID: <CANMdWTtORn+DUh4YzkR7jw4OQeLpvLRLj0kq7+X0fbiA4mp5jw@mail.gmail.com>
To: Cameron McCormack <cam@mcc.id.au>
Cc: Boris Zbarsky <bzbarsky@mit.edu>, Travis Leithead <travis.leithead@microsoft.com>, "public-script-coord@w3.org" <public-script-coord@w3.org>, Allen Wirfs-Brock <allen@wirfs-brock.com>, Ian Hickson <ian@hixie.ch>
On Thu, Jan 5, 2012 at 3:14 PM, Cameron McCormack <cam@mcc.id.au> wrote:

> Cameron McCormack:
>  Right, I don't think either of my proposals Travis quoted will work now,
>> due to this bareword lookup problem.
> I might be a bit wrong here.  I forgot that [[HasProperty]] uses
> [[GetProperty]] to determine if there is a property on that object or on
> its prototype chain.  That means, if my reading of the spec is right, the
> following document
>  <!DOCTYPE html>
>  <script>var toString; alert(toString)</script>
> should alert String(Object.prototype.**toString) and not "undefined".
> Firefox, Opera and IE alert "undefined".  Chrome/Safari alert the function.
> So I don't know that we can make `var something;` shadow any properties
> without violating the ECMAScript spec.

I haven't heard opposition to shadowing. It seems the only problem that's
been brought up is figuring out how to spec it. Seems like an ES spec
change is in order since a) it doesn't match what browsers do and b)
shadowing is preferred in many cases.
Received on Thursday, 5 January 2012 23:59:41 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:05 UTC