gpt4 book ai didi

javascript - 如何在 javascript/nodejs (ES6) 中创建静态函数/对象

转载 作者:IT老高 更新时间:2023-10-28 22:07:41 25 4
gpt4 key购买 nike

我想使用 Javascript/Node JS 创建一个静态类。我用谷歌,但我找不到任何有用的例子。

我想在 Javascript ES6 中创建类似这样的东西(C#):

public static MyStaticClass {
public static void someMethod() {
//do stuff here
}
}

目前,我有这个类,但我认为每次从“require”调用这段代码时,它都会创建一个新实例。

function MyStaticClass() {
let someMethod = () => {
//do some stuff
}
}
var myInstance = new MyStaticClass();
module.exports = factory;

最佳答案

请注意,JS 是 prototype-based programming , 而不是 class-based .

您可以在对象中创建一个方法,而不是多次创建类来访问其方法,例如

var MyStaticClass = {
someMethod: function () {
console.log('Doing someMethod');
}
}

MyStaticClass.someMethod(); // Doing someMethod

由于在 JS 中,一切都是对象(primitive types + undefined + null 除外)。就像您在上面创建 someMethod 函数时一样,您实际上创建了一个新的函数对象,可以在 MyStaticClass 对象中使用 someMethod 访问该对象。 (这就是为什么您可以访问 someMethod 对象的属性,例如 MyStaticClass.someMethod.prototypeMyStaticClass.someMethod.name)

但是,如果您发现使用 class. ES6 现在支持 static methods .

例如

MyStaticClass.js

class MyStaticClass {
static someMethod () {
console.log('Doing someMethod');
}

static anotherMethod () {
console.log('Doing anotherMethod');
}
}

module.exports = MyStaticClass;

Main.js

var MyStaticClass = require("./MyStaticClass");

MyStaticClass.someMethod(); // Doing someMethod
MyStaticClass.anotherMethod(); // Doing anotherMethod

关于javascript - 如何在 javascript/nodejs (ES6) 中创建静态函数/对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40987138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com