cptn-expr-no-itr.js (1058B)
1 // Copyright (C) 2016 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 es6id: 13.7.5.11 5 description: > 6 Completion value when head has no declaration and no iteration occurs 7 info: | 8 IterationStatement : 9 for ( LeftHandSideExpression of AssignmentExpression ) Statement 10 11 1. Let keyResult be the result of performing ForIn/OfHeadEvaluation( « », 12 AssignmentExpression, iterate). 13 2. ReturnIfAbrupt(keyResult). 14 3. Return ForIn/OfBodyEvaluation(LeftHandSideExpression, Statement, 15 keyResult, assignment, labelSet). 16 17 13.7.5.13 Runtime Semantics: ForIn/OfBodyEvaluation 18 19 [...] 20 2. Let V = undefined. 21 [...] 22 5. Repeat 23 a. Let nextResult be IteratorStep(iterator). 24 b. ReturnIfAbrupt(nextResult). 25 c. If nextResult is false, return NormalCompletion(V). 26 ---*/ 27 28 29 assert.sameValue(eval('var a; 1; for (a of []) { }'), undefined); 30 assert.sameValue(eval('var b; 2; for (b of []) { 3; }'), undefined); 31 32 reportCompare(0, 0);