Es 6-exportとexport default
1000 ワード
名前付きエクスポート(export)とデフォルトエクスポート(export default)の2つのエクスポートモジュールがあります.
名前付きエクスポート
1つのモジュールは複数のインタフェースをエクスポートできます.主にエクスポートされた名前を区別します.以下のようにします.
上のコードのmodule 1.jsは
もちろん、module 1は以下のように導入することもできる.jsのすべてのインタフェース
上のコードにmodule 1モジュールのすべてのインタフェースをインポートし、libと名前を付けます.
デフォルトエクスポート(export default)
1つのモジュールに1つの
名前付きエクスポート
1つのモジュールは複数のインタフェースをエクスポートできます.主にエクスポートされた名前を区別します.以下のようにします.
// module1.js
export const sqrt = Math.sqrt;
export function square(x) {
return x * x;
}
export function diag(x, y) {
return sqrt(square(x) + square(y));
}
// main.js
// module1.js square diag
import {square, diag} from './module1';
console.log(square(11));
console.log(diag(4, 3));
上のコードのmodule 1.jsは
sqrt、square、diag
の3つのインタフェースを公開し、main.jsにはsquare、diag
の2つのインタフェースしか導入されていない.もちろん、module 1は以下のように導入することもできる.jsのすべてのインタフェース
// main.js
import * as lib from './module1' // module1, lib
console.log(lib.square(11));
console.log(lib.diag(4, 3));
上のコードにmodule 1モジュールのすべてのインタフェースをインポートし、libと名前を付けます.
デフォルトエクスポート(export default)
1つのモジュールに1つの
export default
しかありませんhttp://2ality.com/2014/09/es6-modules-final.html