ファイル: SafeString.js
// Build out our basic SafeString type
function SafeString(string) {
this.string = string;
}
SafeString.prototype.toString = function() {
return "" + this.string;
};
export default SafeString;
私はexport default
をこれまで見たことがありません。 export default
に、理解しやすいものがありますか?
export default
は、スクリプトファイルから単一のクラス、関数、またはプリミティブをエクスポートするために使用されます。
エクスポートは次のように書くこともできます。
export default function SafeString(string) {
this.string = string;
}
SafeString.prototype.toString = function() {
return "" + this.string;
};
これは、この関数を他のスクリプトファイルにインポートするために使用されます。
app.js と言うと、できます。
import SafeString from './handlebars/safe-string';
その名のとおり、スクリプトファイルまたはモジュールから関数、オブジェクト、クラス、または式をエクスポートするために使用されます。
Utiliites.js
export function cube(x) {
return x * x * x;
}
export const foo = Math.PI + Math.SQRT2;
これをインポートして以下のように使用することができます。
App.js
import { cube, foo } from 'Utilities';
console.log(cube(3)); // 27
console.log(foo); // 4.555806215962888
または
import * as utilities from 'Utilities';
console.log(utilities.cube(3)); // 27
console.log(utilities.foo); // 4.555806215962888
エクスポートデフォルトを使用すると、これははるかに簡単になります。スクリプトファイルは1つだけエクスポートします。 cube.js
export default function cube(x) {
return x * x * x;
};
App.js として使用
import Cube from 'cube';
console.log(Cube(3)); // 27
関数に名前がない場合は、export default function(){}
を使用できます。ファイルにはデフォルトのエクスポートは1つしか存在できません。代替手段は名前付きエクスポートです。
この ページ はexport default
と私がとても役に立ったモジュールについての他の詳細を詳細に記述しています。
これで説明したように MDNページ
エクスポートには、名前付きとデフォルトの2種類があります。モジュールごとに複数の名前付きエクスポートを持つことができますが、デフォルトのエクスポートは1つだけです[...]名前付きエクスポートは、複数の値をエクスポートするのに役立ちます。インポート中は、対応するオブジェクトと同じ名前を使用する必要があります。ただし、デフォルトのエクスポートは任意の名前でインポートできます。
例えば:
let myVar; export default myVar = 123; // in file my-module.js
import myExportedVar from './my-module' // we have the freedom to use 'import myExportedVar' instead of 'import myVar' because myVar was defined as default export
console.log(myExportedVar); // will log 123