1
为什么在JavaScript中(super .__ proto__ === this .__ proto__)是正确的?
似乎在JavaScript(ES6)类中super.__proto__ === this.__proto__。 您能解释为什么会这样吗?在不同的浏览器上,行为似乎是一致的,因此我怀疑这是在规范中的某个地方指定的。 考虑以下代码: class Level1 { myFunc() { console.log('Level1'); } } class Level2 extends Level1 { myFunc() { console.log('Level2'); } } class Level3 extends Level2 { myFunc() { console.log('Level3 BEGIN ' + Math.random()); super.__proto__.myFunc(); console.log(super.__proto__ === this.__proto__); console.log('Level3 END'); } } const foo = new Level3(); foo.myFunc(); 运行代码段隐藏结果展开摘要 …