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
默认值: false
允许对受索引签名覆盖的属性使用方括号表示法。
allowKeywords
type: boolean
默认值: true
允许对 ES3 关键字属性名使用方括号表示法(例如 obj["class"])。
allowPattern
type: string
默认值: ""
允许使用方括号表示法的属性名称的正则表达式模式。
allowPrivateClassPropertyAccess
type: boolean
默认值: false
允许对私有类成员使用方括号表示法。
allowProtectedClassPropertyAccess
type: boolean
默认值: false
允许对受保护的类成员使用方括号表示法。
如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"typescript/dot-notation": "error"
}
}bash
oxlint --type-aware --deny typescript/dot-notation