HTMLの<script>タグは、HTMLドキュメント内にスクリプトを宣言するために使用されます。このタグを使うことで、クライアント側(ブラウザ側)で動作するJavaScriptを定義できます。
<script>タグと</script>タグの間に記述したコードは、ブラウザによって解釈・実行されます。また、src属性を使えば、外部のJavaScriptファイルを読み込むことも可能です。
<script>タグの主な属性
| 属性 | 値 | 説明 |
| async | async | スクリプトが非同期で実行されることを指定します。ページの読み込みをブロックせずにスクリプトを取得します。 |
| charset | charset | スクリプトが使用する文字エンコーディングを定義します。※HTML5では非推奨とされています。 |
| defer | defer | スクリプトがコンテンツを生成しないことを宣言します。そのため、ブラウザ(ユーザーエージェント)はスクリプトの実行完了を待たずに、残りのページの解析やレンダリングを続行できます。 |
| src | URL | 外部スクリプトファイルのURI/URLを指定します。 |
| type | text/javascript application/ecmascript application/javascript text/vbscript | スクリプト言語をコンテンツタイプ(MIMEタイプ)として指定します。HTML5では省略した場合、「text/javascript」が既定値となります。 |

使用例
次のコードを実行すると、<script>タグを使用してクライアント側のJavaScriptを定義する方法を確認できます。
<!DOCTYPE html>
<html>
<head>
<title>HTML script Tag</title>
</head>
<body>
<script>
document.write("Simple Easy Learning: Tutorialspoint!")
</script>
</body>
</html>
補足:async属性とdefer属性の違い
async属性を付けたスクリプトは、ダウンロード完了後すぐに実行されるため、実行順序は保証されません。一方、defer属性を付けたスクリプトは、HTMLの解析が完了した後に順序どおり実行されます。DOM操作を行うスクリプトにはdefer属性が適しています。