What strict mode eval declarations did we really ban?

Allen Wirfs-Brock Allen.Wirfs-Brock at microsoft.com
Wed Feb 11 08:22:03 PST 2009

Declaration binding instantiation creates an array object for a function only if the function does not have any explicit declarations named "arguments".  However, there is currently no strict mode restriction on such declaration.

Adding such a restriction would be a feature addition to what, at this point, should be a frozen feature set (I consider the related ongoing discussions to be clarification of intent for already committed features rather than new feature proposals).  I'm not dogmatic about things like this, but at this point there probably should be pretty overwhelming consensus before we add any new feature.


>-----Original Message-----
>From: es-discuss-bounces at mozilla.org [mailto:es-discuss-
>bounces at mozilla.org] On Behalf Of David-Sarah Hopwood
>Sent: Wednesday, February 11, 2009 8:05 AM
>To: es-discuss at mozilla.org
>Subject: Re: What strict mode eval declarations did we really ban?
>Mark S. Miller wrote:
>> 2009/2/10 Allen Wirfs-Brock <Allen.Wirfs-Brock at microsoft.com>
>>> The simplest story is that "eval" is banned from all declarations in
>>> mode code.
>> This is one of those happy cases where simplest is best. The net
>effect is
>> that ES3.1-strict can be explained as if "eval" is a keyword.
>Allen Wirfs-Brock wrote:
>> However, now that I think a little bit more about, it would be
>> to say that any strict mode declaration of "eval" is an EvalError.  I
>> going to say it was a SyntaxError but EvalError is more specific and
>> line with its ES3 heriatage.
>Doesn't matter to me whether it is EvalError or SyntaxError. However,
>there other identifiers that should be banned by the same rule? For
>'arguments' behaves like a keyword in some respects.
>David-Sarah Hopwood ⚥
>Es-discuss mailing list
>Es-discuss at mozilla.org

More information about the Es-discuss mailing list