1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

/** */みたいなコメントって何?JSDocの話

Last updated at Posted at 2025-12-30

JavaScriptを書いていて、こんなコメントを見かけたことはありませんか?

/**
 *
 *
 */

正直、最初は
「コメントが丁寧なだけ?」「なくても動くよね?」
と思っていました。

気になったので調べてみたところ、これは JSDoc(ジェスドック) と呼ばれるコメント記法でした。
この記事では「JSDocって何?」「何のために書くの?」を、自分なりにまとめてみようと思います。

JSDocとは?

JSDocは、関数が何を受け取り、何を返すのかをコメントとして明示するための記法です。
人間が読むためだけでなく、VS Codeなどのエディタにも情報を伝える役割があります。

引数を説明する例(@param

例えば、タスクを追加する関数があるとします。

/**
 * タスクを追加する
 * @param {string} taskName
 */
function add(taskName) {
  tasks.push({ name: taskName, isDone: false });
}

ここで書かれている
@param {string} taskNameは、

  • この関数は taskName という引数を受け取る
  • その型は string(文字列)

ということを表しています。

つまり 「どんな引数を受け取る関数なのか」 を明文化している、というわけです。

返り値を説明する例(@return

次に、完了したタスク一覧を返す関数です。

/**
 * 完了タスクの一覧を取得する
 * @return {array}
 */
function doneList() {
  return tasks
    .filter(task => task.isDone)
    .map(task => task.name);
}

この場合、@return {array}によって、

  • この関数は値を返す
  • 返り値は配列(array)

であることが分かります。

引数とは逆に、「この関数を呼ぶと何が返ってくるのか」 を示しています。

JSDocを書くメリット

JSDocを書くことで、次のようなメリットがあります。

①未来の自分・他人が理解しやすくなる

関数の中身を読まなくても、何を受け取るのか何を返すのかがコメントを見るだけで分かります。時間が経ったあとにコードを見返したときの理解速度が、かなり変わります。

②エディタ(VS Codeなど)が賢くなる

JSDocで型情報を書くと、VS Codeなどのエディタが補完を出しやすくなる、型の不整合っぽい箇所に警告を出してくれるといった恩恵があります。
JavaScriptなのに、少しTypeScriptっぽい安全性が手に入るイメージです。

③JavaScript → TypeScript移行の下準備になる

後からTypeScriptに移行したくなったときも、どの関数がどんな引数を受け取りどんな値を返すのかがすでに整理されている状態になります。
つまりJSDocは、「将来のためのドキュメント兼設計メモ」 としても機能します。

まとめ

  • /** ... */は JSDoc というコメント記法
  • @param は引数の説明
  • @return は返り値の説明
  • 可読性・補完・将来のTypeScript移行に効いてくる

最後までご覧いただきありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?