On Jan 4, 2015 9:06 PM, Fred Schott <[email protected]> wrote:
>
> In Section B.3.1 on "__proto__ Property Names in Object Initializers" there 
> is a paragraph explaining when duplicate properties will result in a syntax 
> error. It says:
>
>> It is a Syntax Error if PropertyNameList of PropertyDefinitionList contains 
>> any duplicate entries for "__proto__" and at least two of those entries were 
>> obtained from productions of the form PropertyDefinition : PropertyName : 
>> AssignmentExpression .
>
>
> Where PropertyName is defined as: 
>
>> PropertyName[Yield,GeneratorParameter] :
>>   LiteralPropertyName
>>   [+GeneratorParameter] ComputedPropertyName
>>   [~GeneratorParameter] ComputedPropertyName[?Yield]
>>
>> LiteralPropertyName :
>>   IdentifierName
>>   StringLiteral
>>   NumericLiteral
>
>
> That paragraph (using the definitions provided) seems to assert that it is a 
> syntax error if there are any duplicate uses of __proto__ with an 
> IdentifierName, StringLiteral, or ComputedPropertyName. To translate this 
> into an example, it seems to assert that in ES6 this is not valid:
>
>> var obj = {
>>   __proto__: somePrototype,
>>   ["__proto__"]: somePrototype
>> } 
>>
>> // Error: SyntaxError

No, this is not supposed to be a syntax error.


>
>
> Is that correct? Step 6 of Section B.3.1 explicitly states that the computed 
> ["__proto__"] does not have the same special behavior as the literal 
> property. But from my understanding of other es-discuss topics & resources, 
> the restriction on duplicate "__proto__" properties also does not apply to 
> computed properties. If that is true, then the quoted paragraph above seems 
> to be incorrect or misleading.
>
> Can anyone clarify this? I may just be misunderstanding the docs and/or the 
> recent discussions. Or it could be that the definition has changed around 
> that quoted paragraph and it needs to be updated.

The latter. Please file a bug at bugs.ecmascript.org
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to