javascript - 如何将一个 javascript 类分成多个文件?

标签 javascript node.js class

例如,假设有一个文件包含一个类。

// a.js -> constructor, function1, function2
const AClass = class {
    constructor() {}
    function1() {}
    function2() {}
}

当function1和function2变得太长时,我想将它们分开到另一个文件中。

// a.js -> constructor
// b.js -> function1
// c.js -> function2

我可以在 JavaScript 中执行此操作吗?我不想这样做。

// a.js
const fn1 = require("./b.js");
const AClass = class {
    constructor() {}
    function1() {fn1()}
}

最佳答案

您可以使用JS Prototype's chain 。基本上只要你想要有多少个文件,只需使用 extend 并有一个包含 function1function2 的 mixins 文件,但这确实效率很低。

此外,您可以只使用原型(prototype)链并在需要时向其中添加函数,例如:

class A {
    say() {console.log("hey!")}
}

var foo = new A
foo.say() // hey!

A.prototype.yell = function(con) {console.info(con)}

foo.yell("hmmm...") // hmmm...

您可以在任何您想要的文件中执行此操作。

关于javascript - 如何将一个 javascript 类分成多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53560588/

相关文章:

javascript - React-redux - 控制台给出 "TypeError: props.fetchSearchResults is not a function"

Javascript 一行如果,只声明 true

node.js - Buffer.toString() 支持哪些编码?

node.js - yarn pnp 回退到默认要求

javascript - 多个类之间可以共享数据吗?

javascript - 如何在 iris 沙发上进行跨域放置/发布请求?

javascript - 重新选择。 react 。 Reselect 获得最大性能的最佳使用方法是什么?

javascript - 安装 Express.js 后更改 node.js 项目名称

java - getDeclaredFields 具有实际运行时类型,适用于 Unsafe.objectFieldOffset(f)

python - "module.__init__() takes at most 2 arguments (3 given)"创建子类实例时