是否可以拥有一个类并将其方法分布到多个文件中? 我的类(class)现在位于一个文件中,并且它变得很长,在开发过程中变得难以导航。
我想过扩展一个类,但那是建立在类之上的。并且多个扩展类之间不会相互通信,对吗?
因此主文件将具有构造函数,其他文件将具有其类的一个或几个方法。
最佳答案
您可以分配给原型(prototype)的属性,就像过去 function
一样。使用 s 代替 class
es - 从其他文件导入函数,定义类后,分配属性:
// main.js
import method1 from './method1';
import method2 from './method2';
// or use require() syntax, depending on how your environment is set up
class Foo {
constructor(name) {
this.name = name;
// ...
}
}
Foo.prototype.method1 = method1;
Foo.prototype.method2 = method2;
// method1.js
export default function() {
console.log('method1 running for ' + this.name);
};
两者method1
和method2
仍然可以引用this
引用实例,就像它们直接在 Foo
中定义为方法一样.
您可以使用import
ES6 模块的语法(例如 <script type="module"
)或模块 bundler 系统(如 Webpack)。在节点中,使用 require(path)
导入并通过分配给 module.exports
来导出或 module.exports
的属性.
关于Javascript - 多个文件中的字符串类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59713462/