Skip to content
← Back to rules

jsdoc/require-param 厳格なルール

An auto-fix is available for this rule.

何をするか

すべての関数パラメータが JSDoc の @param タグでドキュメント化されていることを要求します。

なぜこれは良くないのか

このルールは、すべての関数パラメータがドキュメント化されていることを要求することで、コードの品質と保守性を向上させることを目的としています。

このルールに対して不正なコードの例:

javascript
/** @param foo */
function quux(foo, bar) {}

このルールに対して正しいコードの例:

javascript
/** @param foo */
function quux(foo) {}

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:

checkConstructors

type: boolean

default: false

コンストラクターメソッドのチェックを行うかどうか。

checkDestructured

type: boolean

default: true

デストラクチャリングされたパラメータのチェックを行うかどうか。

checkDestructuredRoots

type: boolean

default: true

以下のようなコードの場合にデストラクチャリングされたパラメータをチェックするかどうか:
function doSomething({ a, b }) { ... }。この例では名前付きパラメータがないため、このオプションが true の場合、 {a, b} に対応する @param タグが必要です。

checkGetters

type: boolean

default: true

ゲッター メソッドのチェックを行うかどうか。

checkRestProperty

type: boolean

default: false

レストプロパティのチェックを行うかどうか。

checkSetters

type: boolean

default: true

セッター メソッドのチェックを行うかどうか。

checkTypesPattern

type: string

default: "^(?:[oO]bject|[aA]rray|PlainObject|Generic(?:Object|Array))$"

チェック対象外とするパラメータを識別する正規表現パターン。

exemptedBy

type: string[]

default: ["inheritdoc"]

@param チェックから除外する JSDoc タグのリスト。

使い方

このルールを設定ファイルまたは CLI で有効化するには、次のいずれかを使用できます:

json
{
  "plugins": ["jsdoc"],
  "rules": {
    "jsdoc/require-param": "error"
  }
}
bash
oxlint --deny jsdoc/require-param --jsdoc-plugin

参照