Ela*_*lad 6 javascript class ecmascript-6
我正在一个模块中创建一个方法:
export function myMethod() {}
Run Code Online (Sandbox Code Playgroud)
并在另一个模块中实例化一个类:
import {myMethod} from './methodFile';
class MyClass {
constructor() {}
myMethod // doesn't work
}
Run Code Online (Sandbox Code Playgroud)
是否可以myMethod作为MyClass课程的一部分使用?
我正在尝试创建以下代码的等效项:
class MyClass {
constructor() {}
myMethod() {}
}
Run Code Online (Sandbox Code Playgroud)
不,不可能在class声明中引用给定的值。
然而,class语法主要是语法糖,原型继承一如既往地工作。您可以简单地将方法放在类定义之后的原型对象上:
import {myMethod} from './methodFile';
class MyClass {
…
}
MyClass.prototype.myMethod = myMethod;
Run Code Online (Sandbox Code Playgroud)
如果您的方法需要使用super,您将需要使用该.toMethod方法。