Javascript Es6默认导出

时间:2015-04-28 00:31:31

标签: javascript ecmascript-6 export

我只想仔细检查,因为我正在尝试执行此ES6导出默认值:

var Member = function(){}
export {
    Member as default
 };

JShint使用这种语法错误输出(启用es6),但我认为它是有效的。 这是否真的无效或者使用导出语法

编写默认导出的有效方法
 export {
    Member 
 };

我使用此作为参考:http://www.2ality.com/2014/09/es6-modules-final.html 他们给出的例子是:

//------ module1.js ------
export default 123;
//------ module2.js ------
const D = 123;
export { D as default };

为什么这个module2的第二行有效? (或者是吗?)

1 个答案:

答案 0 :(得分:3)

(如此经常)这是jshint的错。该行确实有效,ES6 Export syntax允许使用任何IdentifierName - 其中包括default等关键字,用于ExportClause的导出名称。

但是,我会不鼓励使用它。使用export default表示法更容易编写和读取默认导出,例如

var Member = function() {};
export default Member;
// or
export default function Member() {}

不可否认,export default Member;并不完全等同于export { Member as default },但除非你试图重新分配它(你不是,对吗?)它没有任何区别。