tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

cannot-override-this-with-thisArg.js (794B)


      1 // Copyright (C) 2015 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 /*---
      4 es6id: 14.2
      5 description: >
      6    ArrowFunction `this` cannot be overridden by thisArg
      7 
      8    9.2.4 FunctionInitialize (F, kind, ParameterList, Body, Scope)
      9 
     10      ...
     11      9. If kind is Arrow, set the [[ThisMode]] internal slot of F to lexical.
     12      ...
     13 
     14    9.2.1.2 OrdinaryCallBindThis ( F, calleeContext, thisArgument )
     15 
     16      1. Let thisMode be the value of F’s [[ThisMode]] internal slot.
     17      2. If thisMode is lexical, return NormalCompletion(undefined).
     18      ...
     19 
     20 ---*/
     21 
     22 var calls = 0;
     23 var usurper = {};
     24 [1].forEach(value => {
     25  calls++;
     26  assert.notSameValue(this, usurper);
     27 }, usurper);
     28 
     29 assert.sameValue(calls, 1);
     30 
     31 reportCompare(0, 0);