eslint/no-use-before-define 限制
它的作用
禁止在定义之前使用变量。
为什么这是不好的?
在声明之前引用标识符可能会隐藏错误,并使代码依赖于顺序,难以理解和推理。
示例
此规则的错误代码示例:
ts
new A();
var A = class {};此规则的正确代码示例:
ts
var A = class {};
new A();配置
此规则接受一个配置对象,包含以下属性:
allowNamedExports
type: boolean
default: false
允许在声明之前出现的命名导出。
classes
type: boolean
default: true
检查类声明。
enums
type: boolean
default: true
检查枚举声明。
functions
type: boolean
default: true
检查函数声明。
ignoreTypeReferences
type: boolean
default: true
忽略仅用于类型的引用。
typedefs
type: boolean
default: true
检查类型别名、接口和类型参数。
variables
type: boolean
default: true
检查变量声明。
如何使用
要通过配置文件或 CLI 启用此规则,可以使用:
json
{
"rules": {
"no-use-before-define": "error"
}
}bash
oxlint --deny no-use-before-define