【问题标题】:how to assign class1.prototype = Object.create(class2.prototype)如何分配 class1.prototype = Object.create(class2.prototype)
【发布时间】:2017-05-17 05:23:17
【问题描述】:

我目前正在学习 ES6,我知道类只是糖分,它们仍然遵循 javascript 的原型继承。

在我们可以分配的方法中

Method1.prototype = Object.create(Method2.prototype)

并且类使用扩展键工作来创建继承。

除了extends还有什么办法吗

Class1.prototype = Object.create(class1.prototype)

我尝试过class1.prototype,但它不起作用。

谢谢。

【问题讨论】:

  • 你到底想完成什么?
  • 我想知道有什么办法可以访问互不相关的不同类的类方法
  • 是的,但不是Object.create,这会使它们相互关联——这只是继承。请发布您的整个代码,以便我们可以尝试找出您在做什么,什么不起作用。

标签: javascript ecmascript-6


【解决方案1】:

要扩展一个类,请将prototype 值设置为:

ChildClass.prototype = Object.create(ParentClass.prototype);

这样,您仍然可以分配给ChildClass 的原型。 如果直接赋值ChildClass.prototype = ParentClass.prototype,则无法定义ChildClass方法和属性。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2019-11-29
  • 2016-01-08
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-09
  • 1970-01-01
相关资源
最近更新 更多