ES6 モジュールのインポートはインポートされたファイル内のコードを実行しますか? 質問する

ES6 モジュールのインポートはインポートされたファイル内のコードを実行しますか? 質問する

js ファイル内のコードはインポート中に実行されますか? 実行される場合、1 回ですか、それとも毎回ですか? 例:

// a.js
console.log("A");
const a = "a"; 
export default a;

// b.js
import a from "./a"; // => console logs?

// c.js
import a from "./a"; // => console logs again?

ベストアンサー1

はい、まさに 1 回です。

見るhttp://www.ecma-international.org/ecma-262/6.0/#sec-abstract-module-records:

このモジュールがすでに評価されている場合は何も行いません。そうでない場合は、このモジュールのすべてのモジュール依存関係を推移的に評価してから、このモジュールを評価します。

おすすめ記事