我在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的新手,有没有办法在一行中执行此操作,或者至少以更易读的方式执行此操作?
答案 0 :(得分:4)
一个类实际上应该被重用于许多对象。所以你应该要求班级本身:
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');
但不建议这样做。几乎没有。
答案 1 :(得分:0)
如果你真的想在一行中这样做:
var Vehicule = new (require('./vehicule'))('red');
但我个人更喜欢两条线路,原因与@ralh提到的相同。