Vla*_*gas 21 javascript node.js javascript-objects ecmascript-6
我想使用Javascript/Node JS创建一个静态类.我使用谷歌,但我找不到任何有用的例子.
我想在Javascript ES6中创建这样的东西(C#):
public static MyStaticClass {
public static void someMethod() {
//do stuff here
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我有这个类,但我认为这个代码每次从"require"调用时都会创建一个新实例.
function MyStaticClass() {
let someMethod = () => {
//do some stuff
}
}
var myInstance = new MyStaticClass();
module.exports = factory;
Run Code Online (Sandbox Code Playgroud)
vad*_*lim 40
您可以在对象中创建一个方法,而不是多次创建类来访问其方法
var MyStaticClass = {
someMethod: function () {
console.log('Doing someMethod');
}
}
MyStaticClass.someMethod(); // Doing someMethod
Run Code Online (Sandbox Code Playgroud)
因为在JS中,一切都是对象(原始类型 + undefined+ 除外null).就像someMethod上面创建函数一样,您实际上创建了一个可以使用someMethod内部MyStaticClass对象访问的新函数对象.(这就是为什么你可以访问someMethod像MyStaticClass.someMethod.prototype或的对象的属性MyStaticClass.someMethod.name)
但是,如果您发现使用类更方便.ES6现在可以使用静态方法.
例如
MyStaticClass.js
class MyStaticClass {
static someMethod () {
console.log('Doing someMethod');
}
static anotherMethod () {
console.log('Doing anotherMethod');
}
}
module.exports = MyStaticClass;
Run Code Online (Sandbox Code Playgroud)
Main.js
var MyStaticClass = require("./MyStaticClass");
MyStaticClass.someMethod(); // Doing someMethod
MyStaticClass.anotherMethod(); // Doing anotherMethod
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23736 次 |
| 最近记录: |