在同一个文件中的另一个辅助函数中调用类中的静态函数

时间:2017-09-10 12:26:25

标签: javascript node.js ecmascript-6

我在一个文件中有一个类,其中包含另一个在另一个js文件中调用的静态函数。

module.export = class myClass{
  static create(){
    ...
  }
}

// helpers 
function callCreate(){
  ..
}

我想在myClass辅助函数中调用callCreate的静态函数。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

类的静态成员可以像:

一样访问

class MyClass {

  property() {
    console.log('i am normal member');
  }

  static func() {
    console.log('i am static member');
  }

  static funcThis() {
    console.log('i am static member');
    console.log(this === MyClass); // true
    this.func(); // will run fine as a static member of a class
    this.property(); // will give error as a normal member of a class
  }

}

(new MyClass()).property();

MyClass.func();

MyClass.funcThis();

静态成员由类名直接访问,不与对象链接。此外,您只能在静态函数内使用类的static成员。

注意:正如静态函数this中的 @FelixKling 所指出的,将直接引用该类。

提示:始终使用PascalCase命名您的课程。