tor-browser

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

dict-object-freeze-or-seal.js (677B)


      1 let sym = Symbol();
      2 
      3 let o = {x: 1, y: 2, z: 3, a: 4, b: 5, 12345678: 6, [sym]: 7};
      4 for (let i = 0; i < 100; i++) {
      5    o["foo" + i] = 1;
      6 }
      7 delete o.x;
      8 
      9 Object.seal(o);
     10 assertEq(Object.getOwnPropertyNames(o).length, 105);
     11 assertEq(Object.getOwnPropertySymbols(o).length, 1);
     12 
     13 assertEq(Object.isSealed(o), true);
     14 assertEq(Object.isFrozen(o), false);
     15 
     16 let desc = Object.getOwnPropertyDescriptor(o, "y");
     17 assertEq(desc.writable, true);
     18 assertEq(desc.configurable, false);
     19 
     20 Object.freeze(o);
     21 assertEq(Object.isSealed(o), true);
     22 assertEq(Object.isFrozen(o), true);
     23 
     24 desc = Object.getOwnPropertyDescriptor(o, "y");
     25 assertEq(desc.writable, false);
     26 assertEq(desc.configurable, false);