Skip to content
← Back to rules

typescript/prefer-readonly Nursery

💭 This rule requires type information.

何を実行するか

再代入されないクラスメンバは、readonly としてマークされるべきであると要求します。

なぜこれは良くないのか

一度も変更されないメンバは、明示的に readonly として宣言することで、クラスの不変性を明確にし、誤って変更されるリスクを防ぐことができます。

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

ts
class Counter {
  private value = 0;

  getValue() {
    return this.value;
  }
}

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

ts
class Counter {
  private readonly value = 0;

  getValue() {
    return this.value;
  }
}

設定

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

onlyInlineLambdas

type: boolean

default: false

チェック対象を、インラインラムダ値で即時初期化されたメンバに限定します。

使用方法

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

json
{
  "rules": {
    "typescript/prefer-readonly": "error"
  }
}
bash
oxlint --type-aware --deny typescript/prefer-readonly

参照