JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのコメント「/*...*/」と「/**...*/」の違いとは?

JavaScriptには、コード内にメモや説明を残すためのコメント機能が用意されています。その中でも「/*...*/」と「/**...*/」は、どちらも複数行にわたって記述できるブロックコメントですが、役割において重要な違いがあります。この記事では、それぞれの書き方と使い分けについて詳しく解説します。

複数行コメント「/*...*/」とは

/*...*/」は、JavaScriptにおける標準的な複数行コメント(ブロックコメント)です。「/*」から「*/」までの間に挟まれた内容は、すべてコメントとして扱われ、プログラムの実行には影響しません。

基本的な書き方は以下の通りです。

/*
 * これはJavaScriptの複数行コメントです
 * C言語のコメント形式と非常によく似ています
 */

実際のHTMLファイル内で使用する場合は、次のようにscriptタグの中に記述します。

<script>
    <!--
        /*
         * これはJavaScriptの複数行コメントです
         * C言語のコメント形式と非常によく似ています
         */
    //-->
</script>

ドキュメント用コメント「/**...*/」とは

一方、「/**...*/」も文法的には同じ複数行コメントとして扱われるため、JavaScriptエンジンにとって両者に動作上の違いはありません。しかし、先頭にアスタリスクを2つ重ねるこの形式には特別な意味があります。

/**...*/」は、PHPDocumentorのようなドキュメント自動生成ツールによって認識される、ドキュメンテーションコメント(Docコメント)として使われます。関数やクラスの説明、引数、戻り値などをこの形式で記述しておくと、ツールがそれらを読み取って自動的に仕様書(APIドキュメント)を生成してくれます。

/**
 * 2つの数値を加算します
 * @param {number} a - 1つ目の数値
 * @param {number} b - 2つ目の数値
 * @returns {number} 加算結果
 */
function add(a, b) {
    return a + b;
}

両者の違いまとめ

  • /*...*/:一般的な複数行コメント。処理の説明や一時的なコード無効化などに使用する。
  • /**...*/:ドキュメント自動生成ツール向けのコメント。関数の仕様などを構造的に記述し、ツールでドキュメント化するために使用する。

JavaScriptでは特にJSDocというドキュメント生成ツールが広く使われており、「/**...*/」形式で@param@returnsなどのタグを記述するのが定番となっています。単なるコメントとして書く場合は通常の「/*...*/」を使い、ドキュメント化を目的とした情報を残す場合は「/**...*/」を使う、と覚えておくとよいでしょう。

  1. JavaScriptにおける関数とメソッドの違いとは?わかりやすく解説

    JavaScriptにおいて、関数とメソッドは本質的には同じものです。両者の違いは、メソッドがオブジェクトのプロパティとして定義された関数であるという点にあります。つまり、独立して定義されたものを「関数」、オブジェクトに紐づけられたものを「メソッド」と呼びます。 JavaScriptの関数の基本形 まず、一般的な関数の定義方法を見てみましょう。 function functionname(param1, param2){ // 処理内容 } JavaScriptのメソッドの例 メソッドは、オブジェクトに関連付けられた関数です。次の例では、employeeオブジェクトの中にdetails

  2. JavaとJavaScriptの違いとは?歴史・技術・使い分けを徹底解説

    ウェブ開発者のジェレミー・キースは2009年、「JavaとJavaScriptの関係は、ハムとハムスターの関係のようなものだ」と語りました。この比喩がどれほど正確かは議論の余地がありますが、その本質は的確です。共通する言語的ルーツを持つにもかかわらず、JavaとJavaScriptはまったく異なる2つのプログラミング言語なのです。年月とともに両者の重なりも多少増えましたが、今なおJavaScriptはウェブサイトにインタラクティブ性をもたらすフロントエンド言語の主流であり続け、Javaはサーバーサイドやアプリケーション開発で人気を保っています。開発者を採用したい方、プログラミングを学びたい方