test262/test/language/statements/let/syntax/let-iteration-variable-is-freshly-allocated-for-each-iteration-single-let-binding.js
Rick Waldron 44c65fd02a Import tests from Google V8 (Block Scope Additions)
These tests are derived from the following files within the Google V8 project:

    test/mjsunit/es6/regress/regress-2506.js
    test/mjsunit/es6/regress/regress-3426.js
    test/mjsunit/es6/regress/regress-3683.js
2015-04-09 14:21:06 -04:00

15 lines
434 B
JavaScript

// Copyright (C) 2011 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 13.1
description: >
In a normal for statement the iteration variable is freshly allocated for each iteration. Single let binding
---*/
let a = [];
for (let i = 0; i < 5; ++i) {
a.push(function () { return i; });
}
for (let j = 0; j < 5; ++j) {
assert.sameValue(j, a[j]());
}