疑问:A 选项即使不考虑 箭头函数 的情况,那是否需要考虑 super.foo()
里 this
指向情况?
class Parent { foo () { console.log(this) } } class Sub extends Parent { foo () { super.foo() } } let m = new Parent() let n = new Sub() m.foo() // Parent {} n.foo() // Sub {}
ES6 里,子类非静态方法里使用 super
是指向父类的 prototype
对象的;但它也规定,通过 super
调用的父类原型方法,其中的 this
指向当前类(子类)的实例
如果按照 A 选项的说法,那上述 super.foo()
打印的内容应该是 Parent.prototype
对象才对