非同期#
<script>
タグ用のブール属性で、ブラウザにスクリプトを非同期で読み込むかどうかを示すものです。async が設定されている場合、スクリプトはダウンロード時に非同期で実行され、ページの解析やレンダリングをブロックしません。これにより、スクリプトはバックグラウンドでダウンロードされ、ページのパフォーマンスに影響を与えません。
async が設定されている場合、スクリプトはページ内での出現順に従って実行されるのではなく、ダウンロードが完了したらできるだけ早く実行されます。したがって、ページ内で互いに依存する複数のスクリプトがある場合、async 属性を使用すると予測できない動作が発生する可能性があります。なぜなら、これらのスクリプトが正しい順序で実行されない可能性があるからです。
遅延#
したがって、複数のスクリプトが互いに依存している場合は、async 属性の代わりに defer 属性を使用することをお勧めします。defer 属性もスクリプトを非同期で読み込むことができますが、ページ内での出現順に従って実行されます。