mirror of https://github.com/tc39/test262.git
30 lines
772 B
JavaScript
30 lines
772 B
JavaScript
// Copyright (C) 2015 the V8 project authors. All rights reserved.
|
||
// This code is governed by the BSD license found in the LICENSE file.
|
||
/*---
|
||
es6id: 14.2
|
||
description: >
|
||
ArrowFunction `this` cannot be overridden by thisArg
|
||
|
||
9.2.4 FunctionInitialize (F, kind, ParameterList, Body, Scope)
|
||
|
||
...
|
||
9. If kind is Arrow, set the [[ThisMode]] internal slot of F to lexical.
|
||
...
|
||
|
||
9.2.1.2 OrdinaryCallBindThis ( F, calleeContext, thisArgument )
|
||
|
||
1. Let thisMode be the value of F’s [[ThisMode]] internal slot.
|
||
2. If thisMode is lexical, return NormalCompletion(undefined).
|
||
...
|
||
|
||
---*/
|
||
|
||
var calls = 0;
|
||
var usurper = {};
|
||
[1].forEach(value => {
|
||
calls++;
|
||
assert.notSameValue(this, usurper);
|
||
}, usurper);
|
||
|
||
assert.sameValue(calls, 1);
|