【发布时间】:2020-03-03 01:05:42
【问题描述】:
我在 JavaScript 文件中有一个类
class engine
{
constructor(a)
{
this._a = a;
}
foo = function()
{
console.log(this._a);
}
}
module.exports.engine = engine;
然后在我的 NodeJS 文件中执行
const engine = require('./engine.js');
现在我的问题是,如何使用构造函数 new engine('bar') 从 NodeJS 文件中的类中调用 foo()?
【问题讨论】:
-
一些约定:类名以大写字母开头,因为这是类应该使用的。小写表示它是一个函数。此外,如果您使用
this,则没有理由使用下划线。this.a = a在你的构造函数中,然后console.log(this.a)在你的 foo 中。最后,为什么使用实例字段语法foo = function() { ... }而不是普通的类方法语法foo() { ... }?它只是一个类函数,就这样声明吧。 -
@Mike'Pomax'Kamermans - 下划线 - 我认为有/曾经有一个约定,以
_开头的“属性”是“私有”或其他东西(显然它们不是) -参考:stackoverflow.com/questions/4484424/… -
这只是in Python @JaromandaX的约定,JS中没有这样的约定,私有属性的提议使用
#。 -
@Mike'Pomax'Kamermans - 回溯很多年(我的意思是很多年),这绝对是 javascript 中的约定 - 我确实链接到了错误的帖子:p
标签: javascript node.js