Javascript 如何在ES2015中导出实例 对于这个问题,让我们考虑下面的出口< /P> export { MyClassA, MyClassB, MyClassC }

Javascript 如何在ES2015中导出实例 对于这个问题,让我们考虑下面的出口< /P> export { MyClassA, MyClassB, MyClassC },javascript,ecmascript-6,Javascript,Ecmascript 6,我想对其进行更改,以便导出MyClassA和MyClassB实例。现在我希望我能做到 export { new MyClassA() as myclassa, new MyClassB() as myclassb, MyClassC }; 这不管用。这似乎是不可能的。感觉有点像是要用实例参数调用函数 someFunction(new MyClassA()); 但你必须这样写 let myclassa = new MyClassA(); someFunction(myclassa); 现在

我想对其进行更改,以便导出
MyClassA
MyClassB
实例。现在我希望我能做到

export { new MyClassA() as myclassa, new MyClassB() as myclassb, MyClassC };
这不管用。这似乎是不可能的。感觉有点像是要用实例参数调用函数

someFunction(new MyClassA());
但你必须这样写

let myclassa =  new MyClassA();
someFunction(myclassa);
现在因为
someFunction(newmyclassa())
确实可以工作,所以我希望
export

现在在我把它改写成

let myclassa = new MyClassA(), myclassb = new MyClassB();
export {myclassa, myclassb, MyClassC};
我很好奇我的尝试是否有可能?

你可以:

export let myInstanceA = new MyClassA();
据我所知。

您可以:

export let myInstanceA = new MyClassA();

据我所知。

我认为没有es6导入语法直接支持它。但你能做的是:

  • 如果您想成为单身汉,您可以在导出前新建它,如: 

    
    //在file.js中
    A类{…}
    导出常量a=新的a();
    //使用它
    从“./文件”导入{a};
    

  • 如果希望成为多实例,可以将其导出,然后在外部实例化,如:

    
    //在file.js中
    导出类A{…}
    //使用它
    从“./文件”导入{A};
    设a1=新的A();
    设a2=新的A();
    


我认为没有es6导入语法直接支持它。但你能做的是:

  • 如果您想成为单身汉,您可以在导出前新建它,如: 

    
    //在file.js中
    A类{…}
    导出常量a=新的a();
    //使用它
    从“./文件”导入{a};
    

  • 如果希望成为多实例,可以将其导出,然后在外部实例化,如:

    
    //在file.js中
    导出类A{…}
    //使用它
    从“./文件”导入{A};
    设a1=新的A();
    设a2=新的A();
    


模块导出绑定,而不是实际值。唯一不需要显式绑定的情况是默认导出:

export default class { ... };

export default 1;
因此,以下措施也应该起作用:

export default new MyClassA();

当然,只有一个默认导出,因此在您的情况下,需要首先创建绑定。如果您按照自己的方式或按照其他人的建议执行,则由您决定。

模块导出绑定,而不是实际值。唯一不需要显式绑定的情况是默认导出:

export default class { ... };

export default 1;
因此,以下措施也应该起作用:

export default new MyClassA();
当然,只有一个默认导出,因此在您的情况下,需要首先创建绑定。如果你按照自己的方式做,或者按照别人的建议去做,这取决于你自己