prototype打印出来

class A{}
class B extends A{}
console.log(B.prototype)

//打印出来的结果
A {constructor: ƒ}
constructor: class B
__proto__: Object

问题:A代表了什么意思???下面的Object好像也是同样的问题
我的理解:因为B.prototype.__proto__==A.prototype但这也跟A不一样吧?

阅读 2.5k
1 个回答
这是经典的继承
大多数浏览器的 ES5 实现之中,每一个对象都有__proto__属性,指向对应的构造函数的prototype属性。Class 作为构造函数的语法糖,同时有prototype属性和__proto__属性,因此同时存在两条继承链。

(1)子类的__proto__属性,表示构造函数的继承,总是指向父类。

(2)子类prototype属性的__proto__属性,表示方法的继承,总是指向父类的prototype属性。

ES6

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题