2022/03/1(火) JSprimer (コメント)

コメント

  • コメントはプログラムとして評価されないため、ソースコードの説明や注釈を書くのに使われます。
  • コメントの書き方には、一行コメント複数行コメントの2種類があります。

①一行コメント

  • 一行コメントは、一行分をコメントとして扱いたい時に用います。
  • // 以降から行末までがコメントとして扱われ、プログラムとして評価されることはありません。
// 一行コメント
// この部分はコードとして評価されない
// console.log("この部分はコメントとして扱われ、表示されません");

②複数行コメント

  • 複数行コメントは、複数行まとめてコメント扱いとしたい場合に用います。
  • /**/で囲まれた範囲がコメントとして扱われます。
/*
   複数行コメント
   途中に改行を含むことができます。
   囲まれている範囲がコードとして評価されません。
   console.log("この部分はコメントとして扱われ、表示されません");
*/
  • ただし、複数行コメントの中に、ネストさせて複数行コメントを書くことはできません。構文エラーになってしまいます。
/* ネストされた /* 複数行コメント */ は書けない */  //=> 構文エラーになります。

③[ES2015] HTML-likeコメント(非推奨)

  • ECMAScript 2015(ES2015)から後方互換のための仕様として追加されたコメントです。
  • 後方互換とは、例えると、古い製品の仕様を新しい製品でも使えるようにすることです。
  • 以前は、JavaScriptをサポートしていない古来のブラウザが誤ってjsのコードをテキストとして表示されるのを防ぐためにHTMLに似たコメント機能を使って、jsのコードをコメントアウトしていました。
  • しかし現在では、JavaScriptに対応できていないブラウザはないので、使う必要はありません。
  • 古い本や解説サイトを参考にしたであろうサイトが現存するため、そのコードが理解できるようにと配慮された仕様になります。

HTML-likeコメントが追加された歴史的経緯

これは本文ではなくてAnnex(付属文書)に記述されている、いわゆる後方互換、歴史的な事情の維持のための文法です。古来のブラウザ(IE3とか、MS-DOSとかそういうレベルの時代)ではscriptタグに非対応で、プログラムがまるごと文章中に表示されてしまう可能性がありました。そこで、scriptの中身をコメントアウトして書くことがマナーでした。

<script language="javascript">
<!--
  document.bgColor = "brown";
// -->
</script>

日本の一般人にまでインターネットが普及した時代にはもう不要のマナーだったかもしれませんが、古い本や解説サイトを参考にしたであろうサイトが現存します。これをある程度解釈できるようにという配慮がこのHTML-likeコメントです。

JavaScriptにはあまり知られていない「5種類」のコメントがある

参考

JSPrimer

HTML-likeコメントが追加された歴史的経緯

JavaScriptにはあまり知られていない「5種類」のコメントがある