JavaScriptはどこに書くのが正解?

JavaScriptを勉強し始めると、最初にぶつかる素朴な疑問があります。
「<script> タグって、HTMLのどこに書けばいいの?」
参考書には「</body>(bodyの閉じタグ)の直前に書きましょう」と書いてあるのに、ネットの技術記事を見ると「<head>の中に書きましょう」と書いてあったりします。さらに、Google Analyticsなどのツールを入れようとすると「headの一番上に!」と指示されたり……。
「結局、どこに書くのが正解なの?」と混乱してしまいますよね。
この記事では、Web制作の現場で使われている「正しいJavaScriptの書く位置」について、初心者の方にもわかりやすく、理由を含めて徹底解説します。
結論:状況によって「2つの正解」がある
結論から言うと、現在のWeb開発では以下の2パターンを使い分けます。
- 本格的な開発(外部ファイル): <head> 内に defer をつけて書く【推奨】
- 学習やテスト(直接記述): </body> の直前に書く
なぜ2つあるのか? それは「ブラウザがHTMLを読み込む仕組み」と深く関係しています。それぞれの書き方と理由を詳しく見ていきましょう。
1. 【推奨】外部ファイル (.js) なら「head内でdefer」
現在、最もスタンダードで推奨されているのがこの書き方です。
JavaScriptのコードを script.js などの別ファイルに分け、HTMLの <head> タグ内で読み込みます。
この時、必ず defer(ディファー) という属性をつけるのがポイントです。
