tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

cptn-expr-itr.js (1200B)


      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 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       k. Let result be the result of evaluating stmt.
     28       [...]
     29       n. If result.[[value]] is not empty, let V be result.[[value]].
     30 ---*/
     31 
     32 assert.sameValue(eval('var a; 1; for (a of [0]) { }'), undefined);
     33 assert.sameValue(eval('var b; 2; for (b of [0]) { 3; }'), 3);
     34 
     35 reportCompare(0, 0);