在不创建新变量的情况下创建另一个文件中的 class 的实例

Make an instance of a class that is in an another file without creating a new variable

我有一个包含这个的文件:

// filename "Test1"
module.exports = class Test {
    constructor() {
        console.log('Instancied !');
    }
}

我有第二个文件包含这个

// filename "Test2"
const Test = require('./Test1');

const testInstance = new Test();

有没有一种方法可以简化此操作以在与要求相同的行中创建 class?
这行不通,但我认为它可以看起来像这样:const testInstance = new (require('./Test1'));

这是我能想到的最好的:

// Test1
class Test {
    constructor() {
        console.log('Instancied !');
    }
}

module.exports = () => new Test();

// Test2
const testInstance = require('./Test1')();

这是否解决了您的问题?

require('./Test1')returns定义了class。所以你有正确的想法,你只是缺少一对 ():

const testInstance = new (require('./Test1'))();