// This file was procedurally generated from the following sources: // - src/computed-property-names/computed-property-name-from-assignment-expression-logical-or.case // - src/computed-property-names/evaluation/object-literal.template /*--- description: Computed property name from assignment expression logical or (ComputedPropertyName in ObjectLiteral) esid: prod-ComputedPropertyName features: [computed-property-names, logical-assignment-operators] flags: [generated] info: | ObjectLiteral: { PropertyDefinitionList } PropertyDefinitionList: PropertyDefinition PropertyDefinition: PropertyName: AssignmentExpression PropertyName: ComputedPropertyName ComputedPropertyName: [ AssignmentExpression ] ---*/ let x = 0; let o = { [x ||= 1]: 2 }; assert.sameValue( o[x ||= 1], 2 ); assert.sameValue( o[String(x ||= 1)], 2 ); assert.sameValue(x, 1); reportCompare(0, 0);