Skip to content
← Back to rules

typescript/dot-notation Nursery

💭 This rule requires type information.

何をするか

プロパティアクセスが安全に obj.prop の形で書ける場合、ドット表記を強制します。

なぜ問題なのか

静的なプロパティ名に対しては、ドット表記の方がブレケット表記よりも読みやすく、簡潔です。

このルールに関して誤りなコードの例:

ts
obj["name"];
foo["bar"];

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

ts
obj.name;
foo.bar;

obj[key];
obj["not-an-identifier"];

設定

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

allowIndexSignaturePropertyAccess

type: boolean

default: false

インデックス署名でカバーされるプロパティに対して、ブレケット表記を許可します。

allowKeywords

type: boolean

default: true

ES3キーワードのプロパティ名(例:obj["class"])に対して、ブレケット表記を許可します。

allowPattern

type: string

default: ""

ブレケット表記を使用することを許可するプロパティ名の正規表現パターン。

allowPrivateClassPropertyAccess

type: boolean

default: false

プライベートクラスメンバに対するブレケット表記を許可します。

allowProtectedClassPropertyAccess

type: boolean

default: false

プロテクトクラスメンバに対するブレケット表記を許可します。

使い方

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

json
{
  "rules": {
    "typescript/dot-notation": "error"
  }
}
bash
oxlint --type-aware --deny typescript/dot-notation

参照