A random collection of ES4 draft spec surprises and thoughts

Jeff Dyer jodyer at adobe.com
Mon May 26 16:57:40 PDT 2008




On 5/26/08 2:55 PM, Brendan Eich wrote:

> On May 26, 2008, at 2:16 PM, Jeff Dyer wrote:
> 
>> On 5/26/08 12:01 PM, Brendan Eich wrote:
>> 
>>> ActionScript also had read-only __proto__ in at least one of its
>>> versions. I'm not sure if it still does in AS3.
>> 
>> __proto__ is not supported in AS3, to my knowledge.
> 
> I was thinking of
> 
> http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/
> wwhelp.htm?context=LiveDocs_Parts&file=00002585.html
> 
> So, ActionScript 2 -- right?

Yes, that's AS2 only.

>> Any anyways, if there is
>> controversy here it should be that __proto__ is being reserved in
>> ES4 and is
>> not as generally usable as in ES3 and ancestors.
> 
> (No __proto__ in ES3, of course.)

Right, which means it can be used as an ordinary identifier.

> 
> 
>> Not, that it has special
>> meaning at certain points in the grammar.
> 
> Mark's point about JSON, Doug has raised it too, is that magic
> property names in an ES standard, if not in a few implementations of
> ES3, pre-empt those names from being used as JSON property names.
> Even if the identifier __proto__ were not in the grammar -- if it
> were only the name of a magic Object.prototype getter -- it would
> break the JSON < ES4 relation. But I think that relation is already
> broken, since (AFAIK) JSON is not a subset of ES3.

Understood. And just to beat this horse to make sure it's really dead,
'__proto__'s appearance in the grammar doesn't make it a special property
name -- it just limits where in the language that special property can be
referenced.

Jd




More information about the Es4-discuss mailing list