| // 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); |