Javascript NodeJS对象实例-类或函数

Javascript NodeJS对象实例-类或函数,javascript,node.js,class,Javascript,Node.js,Class,我有一个关于在NodeJS中实例化对象和声明类的不同方法的基本问题。 我看到了一些教程,但没有教程描述,我应该使用哪种方式,或者为什么有不同的方式 我想创建一个对象的实例,并创建了两个代码段,它们的功能完全相同,但代码完全不同 我的问题是:我会得到同样的结果吗?或者是有什么特别的东西我看不出来它是不同的,而且,我应该用哪种方法 例a: class ExampleA { constructor () { } method() { console.log("Hel

我有一个关于在NodeJS中实例化对象和声明类的不同方法的基本问题。 我看到了一些教程,但没有教程描述,我应该使用哪种方式,或者为什么有不同的方式

我想创建一个对象的实例,并创建了两个代码段,它们的功能完全相同,但代码完全不同

我的问题是:我会得到同样的结果吗?或者是有什么特别的东西我看不出来它是不同的,而且,我应该用哪种方法

例a:

class ExampleA {

    constructor () { }

    method() {
        console.log("Hello world");
    }
}
module.exports.ExampleA = ExampleA;
例B:

function ExampleB() {
}

NoSQL1.prototype.method = function() {
    console.log("Hello world");
}
module.exports.ExampleB = ExampleB;
如果我做对了,在示例B中,我只需在“Classname.prototype.Method”中的现有类中添加一个新函数


也许还有更多的路要走?作为一个C开发人员,我更喜欢这个例子,目前…

没有什么大的区别。Javascript没有传统的类。所有的东西都只是一个对象,而示例A的语法基本上就是这样,因为惯例和Javascript试图迎合OOP和函数式编程

但是只有第一种模式允许您通过使用闭包生成私有变量。

您会得到相同的结果。 类是(ES)的最新版本中的。 JavaScript仍然存在,因此您应该小心引用特殊单词
this
,因为例如:

class ExampleA {
    constructor() {
        this.text = 'Hello World!'
    }
    method() {
        console.log(this.text);
    }
}


let a = new EampleA()
a.method() // will print 'Hello World'
let m = a.method;
m() // will throw exception "Cannot read property 'text' of undefined
let b = {text: 'Hi'};
m.call(b) // will print 'Hi'
可能的副本也包括:,