结合ECMA6中的扩展

时间:2016-11-03 08:00:32

标签: javascript

我对ECMA6类扩展有疑问。 “旧”方式允许我创建一个“类”(基本上是一个函数或对象),然后通过添加到它的原型来“扩展”它。这使得第三方供应商可以为软件编写插件并轻松添加它们。然后,您只需要实例化原始的“类”,它就可以访问已添加到其原型中的所有内容。

在ECMA6中,您可以扩展类,但我没有看到它如何为我提供相同的可能性。如果供应商X扩展了我的Y类,那么现在我必须实例化X而不是Y.如果另一个供应商添加了自己的扩展Z,那么现在我必须知道它们存在然后在X和Z之间进行选择。

我刚开始学习ECMA6所以我可能只是在这里遗漏了一些东西。我如何拥有ECMA6类,让不同的供应商扩展它,然后在运行中获得包含所有功能的实例(原始类和所有扩展)?

谢谢!

1 个答案:

答案 0 :(得分:1)

您似乎混淆了继承(使用ES6 extends语法中的class关键字)和扩充("通过将新方法混合到其中来扩展"对象)。

  

我没有看到ES6课程如何为我提供相同的可能性

没有任何改变。 ES6类仍然只是具有.prototype属性的函数,您可以像往常一样修改它们的原型对象。