typescript/dot-notation Nursery
何をするか
プロパティアクセスが安全に 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