Skip to content
← Back to rules

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

参考资料