| // Copyright 2015 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // let is usable as a variable with var, but not let or ES6 const |
| assertEquals(undefined, let); |
| (function() { var let = 1; assertEquals(1, let); })(); |
| assertThrows(function() { return let; }, ReferenceError); |
| for (let in [1, 2, 3, 4]) sum += Number(let); |
| (function() { for (var let of [4, 5]) sum += let; })(); |
| (function() { for (var let in [6]) sum += Number([6][let]); })(); |
| for (let = 7; let < 8; let++) sum += let; |
| (function() { for (var let = 8; let < 9; let++) sum += let; })(); |
| assertThrows(function() { return let; }, ReferenceError); |
| var {let} = {let() { return obj; }}; |
| assertThrows('for (let of []) {}', SyntaxError); |