export default後面不能跟關鍵字

默認導出 export default 後面不能接 varconstlet

正是因爲 export default命令其實只是輸出一個叫做 default的變量,所以它後面不能跟變量聲明語句。

//正確
export var a = 1;

//正確
var a = 1;
export default a;

//錯誤
export default var a = 1;

上面代碼中,export default a的含義是將變量 a 的值賦給變量 default
同樣的,因爲 export default本質是將該命令後面的值,賦給 default 變量後再默認導出,所以直接將一個值寫在 export default 後面。


上述理論可以通過下面代碼驗證:

首先在 a.js 文件下寫如下代碼:

export let a = 1;
let b = 2;
export default b;

b.js 文件下整體導入 a.js 模塊:

import * as obj from './b.js';
console.log(obj);

然後通過 babel b.js --out-file c.js 將ES5代碼轉爲ES6代碼運行 c.js
結果爲:

{ a: 1, default: 2 }

可以看到,obj 對象包含着 export 和 export default 的導出對象,其屬性名就是 default

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章