このステートメントを見たとき、タグのWHATWG仕様async
とdefer
属性を調べていました。<script>
従来のスクリプトで
defer
は、またはを指定できますasync
。モジュール スクリプトは を指定できますasync
。
クラシックスクリプトとモジュールスクリプトの WHATWG 定義を確認しましたが、あまり明確にはなりませんでした。簡単に言えば、 JavaScriptのクラシックスクリプトとモジュールスクリプトの違いは何ですか?
このステートメントを見たとき、タグのWHATWG仕様async
とdefer
属性を調べていました。<script>
従来のスクリプトで
defer
は、またはを指定できますasync
。モジュール スクリプトは を指定できますasync
。
クラシックスクリプトとモジュールスクリプトの WHATWG 定義を確認しましたが、あまり明確にはなりませんでした。簡単に言えば、 JavaScriptのクラシックスクリプトとモジュールスクリプトの違いは何ですか?
クラシック スクリプトは、ご存じのとおり、単なる標準の JavaScript スクリプトです。モジュール スクリプトは、ES6 モジュールを含むスクリプトです。つまり、宣言を使用 (または使用可能)import
します。export
§8.1.3.8 JavaScriptモジュールシステムとの統合から:
JavaScript 仕様では、モジュールの構文と、処理モデルのホストに依存しない部分が定義されています。この仕様は、処理モデルの残りの部分を定義します。属性が に設定され た
script
要素を介して、モジュール システムがどのようにブートストラップされるか、およびモジュールがどのように取得、解決、実行されるかです。 [JAVASCRIPT]type
"module"
注: JavaScript の仕様は「スクリプト」と「モジュール」の観点から語られていますが、一般的に、この仕様はクラシック スクリプト とモジュール スクリプトの観点から語られています。どちらも script 要素を使用しているためです。