head-const-fresh-binding-per-iteration.js (611B)
1 // Copyright (C) 2011 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.6.4.13 5 description: > 6 const ForDeclaration: creates a fresh binding per iteration 7 ---*/ 8 9 let s = 0; 10 let f = [undefined, undefined, undefined]; 11 12 for (const x of [1, 2, 3]) { 13 s += x; 14 f[x-1] = function() { return x; } 15 } 16 assert.sameValue(s, 6, "The value of `s` is `6`"); 17 assert.sameValue(f[0](), 1, "`f[0]()` returns `1`"); 18 assert.sameValue(f[1](), 2, "`f[1]()` returns `2`"); 19 assert.sameValue(f[2](), 3, "`f[2]()` returns `3`"); 20 21 reportCompare(0, 0);