Name Description Size Coverage
iterator-destructuring-property-reference-target-evaluation-order.js --- esid: sec-runtime-semantics-iteratordestructuringassignmentevaluation description: > Ensure correct evaluation order when destructuring target is property reference. info: | 12.15.5.3 Runtime Semantics: IteratorDestructuringAssignmentEvaluation AssignmentElement : DestructuringAssignmentTarget Initializer 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). 2. If iteratorRecord.[[Done]] is false, then a. Let next be IteratorStep(iteratorRecord.[[Iterator]]). ... 3. If iteratorRecord.[[Done]] is true, let value be undefined. ... 5. Else, let v be value. ... 8. Return ? PutValue(lref, v). features: [Symbol.iterator] includes: [compareArray.js] --- 2147 -
keyed-destructuring-property-reference-target-evaluation-order.js --- esid: sec-runtime-semantics-keyeddestructuringassignmentevaluation description: > Ensure correct evaluation order when destructuring target is property reference. info: | 12.15.5.2 Runtime Semantics: DestructuringAssignmentEvaluation AssignmentProperty : PropertyName : AssignmentElement 1. Let name be the result of evaluating PropertyName. 2. ReturnIfAbrupt(name). 3. Return the result of performing KeyedDestructuringAssignmentEvaluation of AssignmentElement with value and name as the arguments. 12.15.5.4 Runtime Semantics: KeyedDestructuringAssignmentEvaluation 1. If DestructuringAssignmentTarget is neither an ObjectLiteral nor an ArrayLiteral, then a. Let lref be the result of evaluating DestructuringAssignmentTarget. b. ReturnIfAbrupt(lref). 2. Let v be ? GetV(value, propertyName). ... 4. Else, let rhsValue be v. ... 7. Return ? PutValue(lref, rhsValue). includes: [compareArray.js] --- 1956 -
obj-prop-__proto__dup.js --- esid: sec-destructuring-assignment es6id: 12.14.5 description: Duplicate __proto__ property names info: | Annex B defines an early error for duplicate PropertyName of `__proto__`, in object initializers, but this does not apply to Object Assignment patterns --- 1163 -