向 ES6 类添加变量方法

使用 ES6 类,您可以按如下方式声明方法:

class Foo {

  bar() {}

}

但是,我需要从外部文件导入方法并将它们加载到类中。像这样的东西:

const barMethod = require('./bar');

class Foo {

  bar: barMethod

}

但是,这不起作用。我已经查看了一段时间的语法,但并没有真正提到它。这样做的正确方法是什么?


有没有办法扩展类?由于 Class 太大,出于组织目的,我将其拆分为多个文件,但每个方法都需要能够使用this.

也许是混合?

jfriend00

classES6 中的A仍然使用 ,.prototype因此您可以在声明之后通过向`.prototype 添加方法来扩展类定义。

原始声明:

class Foo {
  bar() {}
}

添加一些新方法:

Foo.prototype.newBar = someNewMethod;

或者,以更模块化的方式,也许您只想将其传递Foo给模块构造函数中的每个模块,并且它可以将其方法添加到Foo.prototype.

或者,每个模块都可以使用自己的一组方法定义自己的类(所有这些都设计为最终成为Foo方法,然后您可以使用一个主函数导入所有子定义并将每个导入类中的所有方法复制到您的主Foo班原型最终会成为一个大师班。

请记住,方法只是原型对象上的函数,即使类是使用 ES6class语法声明的可以使用仅对对象属性进行操作的常规 Javascript 将它们分配给其他对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章