tor-browser

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

bug1651732-proxy-hasOwn.js (503B)


      1 // An object with a custom [Symbol.toPrimitive] function.
      2 var key = {
      3  value: "a",
      4 
      5  [Symbol.toPrimitive]() {
      6    return this.value;
      7  }
      8 };
      9 
     10 var target = {
     11  a: 0,
     12  [Symbol.iterator]: 0,
     13 };
     14 var obj = new Proxy(target, {});
     15 
     16 for (var i = 0; i < 100; ++i) {
     17  // Change key[Symbol.toPrimitive] to return a symbol after some warm-up.
     18  if (i > 80) {
     19    key.value = Symbol.iterator;
     20  }
     21 
     22  // Attach an IC for JSOp::HasOwn on proxies.
     23  assertEq(Object.prototype.hasOwnProperty.call(obj, key), true);
     24 }