function assert(b) { | |
if (!b) | |
throw new Error("Bad assertion"); | |
} | |
{ | |
const value = 'foo-bar'; | |
class SuperClass { | |
constructor() { | |
this._id = value; | |
} | |
} | |
let ProxiedSuperClass = new Proxy(SuperClass, {}); | |
for (let i = 0; i < 500; i++) { | |
let p = new ProxiedSuperClass; | |
assert(p._id === value); | |
} | |
class A extends ProxiedSuperClass { | |
constructor() { | |
super(); | |
} | |
} | |
assert(A.__proto__ === ProxiedSuperClass); | |
for (let i = 0; i < 500; i++) { | |
let a = new A; | |
assert(a._id === value); | |
} | |
} |