mirror of
https://github.com/tc39/test262.git
synced 2025-07-16 10:34:44 +02:00
56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
// Copyright (C) 2019 Leo Balter. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: prod-DestructuringAssignmentTarget
|
|
desc: >
|
|
It is a Syntax Error if LeftHandSideExpression of an DestructuringAssignmentTarget is neither an
|
|
ObjectLiteral nor an ArrayLiteral and AssignmentTargetType(LeftHandSideExpression) is not simple
|
|
Using Object
|
|
(MemberExpression OptionalChain .IdentifierName Initializer)
|
|
info: |
|
|
Syntax
|
|
|
|
AssignmentElement : DestructuringAssignmentTarget Initializer_opt
|
|
DestructuringAssignmentTarget : LeftHandSideExpression
|
|
|
|
Static Semantics: Early Errors
|
|
|
|
OptionalExpression:
|
|
MemberExpression OptionalChain
|
|
CallExpression OptionalChain
|
|
OptionalExpression OptionalChain
|
|
|
|
OptionalChain:
|
|
?. [ Expression ]
|
|
?. IdentifierName
|
|
?. Arguments
|
|
?. TemplateLiteral
|
|
OptionalChain [ Expression ]
|
|
OptionalChain .IdentifierName
|
|
OptionalChain Arguments
|
|
OptionalChain TemplateLiteral
|
|
|
|
DestructuringAssignmentTarget : LeftHandSideExpression
|
|
|
|
- It is a Syntax Error if LeftHandSideExpression is neither an ObjectLiteral nor an ArrayLiteral and IsValidSimpleAssignmentTarget(LeftHandSideExpression) is not true.
|
|
|
|
Static Semantics: IsValidSimpleAssignmentTarget
|
|
|
|
LeftHandSideExpression : OptionalExpression
|
|
1. Return false.
|
|
features: [optional-chaining]
|
|
template: syntax
|
|
negative:
|
|
phase: parse
|
|
type: SyntaxError
|
|
---*/
|
|
|
|
//- setup
|
|
$DONOTEVALUATE();
|
|
var x = {};
|
|
//- elems
|
|
[x?.y = 42]
|
|
//- vals
|
|
[23]
|