v8/test/mjsunit/harmony/block-scoping-top-level-sloppy.js
arv 3b1aabc960 [es6] Initial support for let/const bindings in sloppy mode
Allow let in sloppy mode with --harmony-sloppy

Allow ES'15 const in sloppy mode with --harmony-sloppy --no-legacy-const

Functions in block are not done yet. They are only let bound in the block
at this point.

BUG=v8:3305, v8:2198
LOG=N
R=littledan@chromium.org, rossberg@chromium.org, adamk@chromium.org

Review URL: https://codereview.chromium.org/1219853004

Cr-Commit-Position: refs/heads/master@{#29536}
2015-07-08 15:04:13 +00:00

35 lines
612 B
JavaScript

// 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.
// Flags: --min-preparse-length=0
// Flags: --no-legacy-const --harmony-sloppy
let xxx = 1;
let f = undefined;
{
let inner_x = xxx;
f = function() { return inner_x; };
}
assertSame(1, f());
xxx = 42;
{
f = function() { return inner_x1; };
let inner_x1 = xxx;
}
assertSame(42, f());
xxx = 31;
{
let inner_x1 = xxx;
try {
throw new Error();
} catch (e) {
f = function() { return inner_x1; };
}
}
assertSame(31, f());