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();
- 如果您想成为单身汉,您可以在导出前新建它,如:
//在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();
当然,只有一个默认导出,因此在您的情况下,需要首先创建绑定。如果你按照自己的方式做,或者按照别人的建议去做,这取决于你自己