head-lhs-let.js (960B)
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 esid: sec-iteration-statements 5 es6id: 13.7 6 description: > 7 The `let` token is interpreted as an Identifier when it is not followed by a 8 `[` token 9 info: | 10 Syntax 11 12 IterationStatement[Yield, Return]: 13 14 for ( [lookahead ∉ { let [ } ] Expression[~In, ?Yield]opt ; 15 Expression[+In, ?Yield]opt ; Expression[+In, ?Yield]opt ) 16 Statement[?Yield, ?Return] 17 18 for ( LexicalDeclaration[~In, ?Yield] Expression[+In, ?Yield]opt ; 19 Expression[+In, ?Yield]opt) Statement[?Yield, ?Return] 20 flags: [noStrict] 21 ---*/ 22 23 var let; 24 25 let = 1; 26 for ( let; ; ) 27 break; 28 29 assert.sameValue(let, 1, 'IdentifierReference'); 30 31 let = 2; 32 for ( let = 3; ; ) 33 break; 34 35 assert.sameValue(let, 3, 'AssignmentExpression'); 36 37 let = 4; 38 for ( [let][0]; ; ) 39 break; 40 41 assert.sameValue(let, 4, 'MemberExpression'); 42 43 reportCompare(0, 0);