tor-browser

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

superPropProxy.js (580B)


      1 // Define constructor with a proxy as prototype
      2 let hook = { get: function(target, name, receiver) { return receiver; } }
      3 let Base = function() { }
      4 Base.prototype = new Proxy(Base.prototype, hook);
      5 
      6 class Derived extends Base {
      7    test() {
      8        // Check proxy receiver is |this|, rather than Base.[[Prototype]]
      9        assertEq(super.x, this);
     10    }
     11 
     12    test_elem() {
     13        // Check proxy receiver is |this|, rather than Base.[[Prototype]]
     14        assertEq(super[0], this);
     15    }
     16 }
     17 
     18 let d = new Derived();
     19 
     20 for (let i = 0; i < 20; ++i) {
     21    d.test();
     22    d.test_elem();
     23 }