dom_dom0700_006

スクリプトを動的読み込みする際、script.( A ) = true だと並列取得・到着次第実行(順序は保証されない)。script.( B ) = true だと解析後に順序を保って実行される。

解答

A: async
B: defer

解説

async は実行順序非保証で最速、defer は HTML 解析完了後に DOMContentLoaded 前までに読み込まれた順に実行されます。

使用例(サンプルコード)

[ html ]

<script>
  const s = document.createElement('script');
  s.src = 'app.js';
  s.defer = true;            // または s.async = true;
  s.onload = () => console.log('loaded');
  document.head.appendChild(s);
</script>