我在NodeJS 4中有一个ES6类:

vehicule.js

"use strict";
class Vehicule {
  constructor(color) {
    this.color = color;
  }
}
module.exports = Vehicule;


当我需要实例化另一个文件时,我发现自己正在这样做:

var _Vehicule = require("./vehicule.js");
var Vehicule = new _Vehicule();


我是nodeJs的新手,有没有办法在一行或至少以一种更具可读性的方式来执行此操作?

最佳答案

确实应该将一个类重用于许多对象。因此,您应该要求类本身:

var Vehicule = require("./vehicule.js");


然后从中创建对象:

var vehicle1 = new Vehicule('some data here');
var vehicle2 = new Vehicule('other data here');


通常,类以大写字母开头,而类的实例(对象本身)以小写字母开头。

如果只需要一个对象的“类”,则可以创建一个内联对象:

var vehicle = {
    myProperty: 'something'
};

module.exports = vehicle;

//in some other file
var vehicle = require('vehicle');


尽管如果您确实要一口气做到这一点,则可以执行以下操作:

var vehicle = new (require('vehicle'))('some constructor data here');


但是不建议这样做。差不多。

10-08 19:19