版本

规则参考

ESLint 中的规则按类型分组,以帮助您了解其用途。每个规则都有表示以下内容的表情符号:

推荐

配置文件中使用来自@eslint/jsrecommended配置将启用此规则

🔧 可修复

此规则报告的一些问题可以通过--fix命令行选项自动修复

💡 hasSuggestions

此规则报告的一些问题可以通过编辑器建议手动修复

可能出现的问题

这些规则与代码中可能存在的逻辑错误有关

array-callback-return

在数组方法的回调中强制执行return语句

类别

💡 建议

constructor-super

在构造函数中要求super()调用

类别

扩展

for-direction

强制“for”循环更新子句以向正确的方向移动计数器

类别

扩展

getter-return

在 getter 中强制执行return语句

类别

扩展

no-await-in-loop

禁止在循环内部使用await

类别
no-class-assign

禁止重新分配类成员

类别

扩展

no-cond-assign

禁止在条件表达式中使用赋值运算符

类别

扩展

no-const-assign

禁止重新分配const变量

类别

扩展

no-control-regex

禁止在正则表达式中使用控制字符

类别

扩展

no-debugger

禁止使用debugger

类别

扩展

no-dupe-args

禁止在function定义中重复参数

类别

扩展

no-dupe-else-if

禁止在 if-else-if 链中重复条件

类别

扩展

no-dupe-keys

禁止在对象字面量中重复键

类别

扩展

no-duplicate-case

禁止重复的 case 标签

类别

扩展

no-empty-pattern

禁止使用空解构模式

类别

扩展

no-ex-assign

禁止在catch子句中重新分配异常

类别

扩展

no-fallthrough

禁止case语句的贯穿

类别

扩展

no-func-assign

禁止重新分配function声明

类别

扩展

no-import-assign

禁止为导入的绑定赋值

类别

扩展

no-inner-declarations

禁止在嵌套块中声明变量或function

类别
no-invalid-regexp

禁止在RegExp构造函数中使用无效的正则表达式字符串

类别

扩展

no-obj-calls

禁止将全局对象属性作为函数调用

类别

扩展

no-prototype-builtins

禁止直接在对象上调用某些Object.prototype方法

类别

扩展

💡 建议

no-self-assign

禁止赋值的两边完全相同

类别

扩展

no-self-compare

禁止比较的两边完全相同

类别
no-setter-return

禁止从 setter 返回值

类别

扩展

no-this-before-super

禁止在构造函数中调用super()之前使用this/super

类别

扩展

no-undef

禁止使用未声明的变量,除非在/*global */注释中提及

类别

扩展

no-unreachable

禁止在returnthrowcontinuebreak语句之后使用不可到达的代码

类别

扩展

no-unreachable-loop

禁止循环体仅允许一次迭代的循环

类别
no-unsafe-finally

禁止在finally块中使用控制流语句

类别

扩展

no-unsafe-negation

禁止对关系运算符的左操作数取反

类别

扩展

💡 建议

no-unsafe-optional-chaining

禁止在不允许使用undefined值的上下文中使用可选链

类别

扩展

no-unused-vars

禁止未使用变量

类别

扩展

no-use-before-define

禁止在变量定义之前使用变量

类别
no-useless-assignment

禁止在不使用值时进行变量赋值

类别
no-useless-backreference

禁止在正则表达式中使用无用的反向引用

类别

扩展

require-atomic-updates

禁止由于使用awaityield而可能导致竞争条件的赋值

类别
use-isnan

在检查NaN时要求调用isNaN()

类别

扩展

💡 建议

valid-typeof

强制将typeof表达式与有效字符串进行比较

类别

扩展

💡 建议

建议

这些规则建议执行操作的替代方法

accessor-pairs

在对象和类中强制执行 getter 和 setter 对

类别
arrow-body-style

要求箭头函数体周围使用大括号

类别

🔧 修复

block-scoped-var

强制在变量定义的作用域内使用变量

类别
camelcase

强制使用驼峰命名约定

类别
complexity

强制程序中允许的最大环路复杂度

类别
consistent-return

要求return语句始终或从不指定值

类别
consistent-this

在捕获当前执行上下文时强制使用一致的命名

类别
curly

强制所有控制语句使用一致的大括号样式

类别

🔧 修复

default-case

switch语句中要求default情况

类别
default-case-last

强制switch语句中的默认子句位于最后

类别
default-param-last

强制默认参数位于最后

类别
dot-notation

尽可能强制使用点表示法

类别

🔧 修复

eqeqeq

要求使用===!==

类别

🔧 修复

func-name-matching

要求函数名称与分配给它们的变量或属性的名称匹配

类别
func-names

要求或禁止命名function表达式

类别
func-style

强制一致地使用function声明或分配给变量的表达式

类别
grouped-accessor-pairs

要求在对象字面量和类中对访问器对进行分组

类别
guard-for-in

要求for-in循环包含if语句

类别
id-denylist

禁止指定的标识符

类别
id-length

强制执行最小和最大标识符长度

类别
id-match

要求标识符与指定的正则表达式匹配

类别
init-declarations

要求或禁止在变量声明中进行初始化

类别
max-classes-per-file

强制执行每个文件中的最大类数

类别
max-depth

强制执行块可以嵌套的最大深度

类别
max-lines

强制执行每个文件的最大行数

类别
max-nested-callbacks

强制回调函数嵌套的最大深度

类别
max-params

强制函数定义中的参数最大数量

类别
max-statements

强制函数块中允许的最大语句数

类别
new-cap

要求构造函数名称以大写字母开头

类别
no-alert

禁止使用alertconfirmprompt

类别
no-bitwise

禁止位运算符

类别
no-caller

禁止使用arguments.callerarguments.callee

类别
no-case-declarations

禁止在case语句中使用词法声明

类别

扩展

💡 建议

no-console

禁止使用console

类别

💡 建议

no-continue

禁止continue语句

类别
no-delete-var

禁止删除变量

类别

扩展

no-div-regex

禁止在正则表达式开头显式使用等号

类别

🔧 修复

no-else-return

禁止在if语句中,return语句之后使用else

类别

🔧 修复

no-empty

禁止空块语句

类别

扩展

💡 建议

no-eq-null

禁止在不使用类型检查运算符的情况下进行null比较

类别
no-eval

禁止使用eval()

类别
no-extend-native

禁止扩展原生类型

类别
no-extra-bind

禁止对.bind()进行不必要的调用

类别

🔧 修复

no-extra-label

禁止不必要的标签

类别

🔧 修复

no-global-assign

禁止对原生对象或只读全局变量进行赋值

类别

扩展

no-implicit-globals

禁止在全局作用域中声明变量

类别
no-implied-eval

禁止使用类似eval()的方法

类别
no-inline-comments

禁止在代码后添加内联注释

类别
no-invalid-this

禁止在this的值为undefined的上下文中使用this

类别
no-iterator

禁止使用__iterator__属性

类别
no-label-var

禁止标签与变量名称相同

类别
no-labels

禁止带标签的语句

类别
no-lone-blocks

禁止不必要的嵌套块

类别
no-lonely-if

禁止在else块中仅使用if语句

类别

🔧 修复

no-loop-func

禁止在循环语句内包含不安全引用的函数声明

类别
no-magic-numbers

禁止使用魔法数字

类别
no-multi-assign

禁止使用链式赋值表达式

类别
no-multi-str

禁止多行字符串

类别
no-nested-ternary

禁止嵌套三元表达式

类别
no-new

禁止在赋值或比较运算符之外使用new运算符

类别
no-new-func

禁止对Function对象使用new运算符

类别
no-new-wrappers

禁止对StringNumberBoolean对象使用new运算符

类别
no-object-constructor

禁止在没有参数的情况下调用Object构造函数

类别

💡 建议

no-octal

禁止八进制字面量

类别

扩展

no-octal-escape

禁止在字符串字面量中使用八进制转义序列

类别
no-param-reassign

禁止重新赋值function参数

类别
no-plusplus

禁止使用一元运算符++--

类别
no-proto

禁止使用__proto__属性

类别
no-redeclare

禁止变量重新声明

类别

扩展

no-regex-spaces

禁止在正则表达式中使用多个空格

类别

扩展

🔧 修复

no-return-assign

禁止在return语句中使用赋值运算符

类别
no-script-url

禁止javascript:网址

类别
no-sequences

禁止逗号运算符

类别
no-shadow

禁止变量声明遮蔽外层作用域中声明的变量

类别
no-ternary

禁止三元运算符

类别
no-throw-literal

禁止抛出字面量作为异常

类别
no-undef-init

禁止将变量初始化为undefined

类别

🔧 修复

no-undefined

禁止使用undefined作为标识符

类别
no-underscore-dangle

禁止标识符中出现悬挂的下划线

类别
no-unneeded-ternary

当存在更简单的替代方案时,禁止使用三元运算符

类别

🔧 修复

no-unused-labels

禁止未使用的标签

类别

扩展

🔧 修复

no-useless-call

禁止对.call().apply()进行不必要的调用

类别
no-useless-catch

禁止不必要的catch子句

类别

扩展

no-useless-computed-key

禁止在对象和类中使用不必要的计算属性键

类别

🔧 修复

no-useless-concat

禁止不必要地连接字面量或模板字面量

类别
no-useless-escape

禁止不必要的转义字符

类别

扩展

💡 建议

no-useless-rename

禁止将导入、导出和解构赋值重命名为相同的名称

类别

🔧 修复

no-useless-return

禁止冗余的return语句

类别

🔧 修复

no-var

要求使用letconst代替var

类别

🔧 修复

no-void

禁止void运算符

类别
no-warning-comments

禁止在注释中使用指定的警告术语

类别
no-with

禁止with语句

类别

扩展

object-shorthand

要求或禁止对象字面量的简写方法和属性语法

类别

🔧 修复

one-var

强制变量在函数中一起或单独声明

类别

🔧 修复

operator-assignment

要求或禁止在可能的情况下使用赋值运算符简写

类别

🔧 修复

prefer-const

要求使用const声明从未重新赋值的变量

类别

🔧 修复

prefer-destructuring

要求从数组和/或对象中解构

类别

🔧 修复

prefer-numeric-literals

禁止使用parseInt()Number.parseInt(),而应使用二进制、八进制和十六进制字面量

类别

🔧 修复

prefer-object-has-own

禁止使用Object.prototype.hasOwnProperty.call(),而应使用Object.hasOwn()

类别

🔧 修复

prefer-object-spread

禁止将对象字面量作为第一个参数使用Object.assign,而应使用对象展开

类别

🔧 修复

prefer-regex-literals

禁止使用RegExp构造函数,而应使用正则表达式字面量

类别

💡 建议

prefer-rest-params

要求使用剩余参数而不是arguments

类别
prefer-spread

要求使用展开运算符而不是.apply()

类别
prefer-template

要求使用模板字面量而不是字符串连接

类别

🔧 修复

radix

强制在使用parseInt()时始终使用基数参数

类别

💡 建议

require-await

禁止没有await表达式的异步函数

类别

💡 建议

require-yield

要求生成器函数包含yield

类别

扩展

sort-imports

强制模块内的导入声明排序

类别

🔧 修复

sort-keys

要求对象键排序

类别
sort-vars

要求同一声明块中的变量排序

类别

🔧 修复

strict

要求或禁止严格模式指令

类别

🔧 修复

vars-on-top

要求var声明放在其包含作用域的顶部

类别
yoda

要求或禁止“Yoda”条件

类别

🔧 修复

布局和格式

这些规则关注代码的外观,而不是代码的执行方式

unicode-bom

要求或禁止Unicode字节顺序标记(BOM)

类别

🔧 修复

已弃用

根据弃用策略,这些规则已被弃用,并被更新的规则取代。

array-bracket-newline 已弃用

类别

🔧 修复

array-bracket-spacing 已弃用

类别

🔧 修复

array-element-newline 已弃用

类别

🔧 修复

arrow-parens 已弃用

类别

🔧 修复

arrow-spacing 已弃用

类别

🔧 修复

block-spacing 已弃用

类别

🔧 修复

brace-style 已弃用

类别

🔧 修复

callback-return 已弃用

类别

comma-dangle 已弃用

类别

🔧 修复

comma-spacing 已弃用

类别

🔧 修复

comma-style 已弃用

类别

🔧 修复

computed-property-spacing 已弃用

类别

🔧 修复

dot-location 已弃用

类别

🔧 修复

eol-last 已弃用

类别

🔧 修复

func-call-spacing 已弃用

类别

🔧 修复

function-call-argument-newline 已弃用

类别

🔧 修复

function-paren-newline 已弃用

类别

🔧 修复

generator-star-spacing 已弃用

类别

🔧 修复

global-require 已弃用

类别

handle-callback-err 已弃用

类别

id-blacklist 已弃用

已替换为id-denylist

类别

implicit-arrow-linebreak 已弃用

类别

🔧 修复

indent 已弃用

类别

🔧 修复

indent-legacy 已弃用

已替换为indent

类别

🔧 修复

jsx-quotes 已弃用

类别

🔧 修复

key-spacing 已弃用

类别

🔧 修复

keyword-spacing 已弃用

类别

🔧 修复

line-comment-position 已弃用

类别

linebreak-style 已弃用

类别

🔧 修复

lines-around-comment 已弃用

类别

🔧 修复

lines-between-class-members 已弃用

类别

🔧 修复

max-len 已弃用

类别

max-statements-per-line 已弃用

类别

multiline-comment-style 已弃用

类别

🔧 修复

multiline-ternary 已弃用

类别

🔧 修复

new-parens 已弃用

类别

🔧 修复

newline-per-chained-call 已弃用

类别

🔧 修复

no-buffer-constructor 已弃用

类别

no-catch-shadow 已弃用

已替换为no-shadow

类别

no-confusing-arrow 已弃用

类别

🔧 修复

no-extra-parens 已弃用

类别

🔧 修复

no-extra-semi 已弃用

类别

🔧 修复

no-floating-decimal 已弃用

类别

🔧 修复

no-mixed-operators 已弃用

类别

no-mixed-requires 已弃用

类别

no-mixed-spaces-and-tabs 已弃用

类别

no-multi-spaces 已弃用

类别

🔧 修复

no-multiple-empty-lines 已弃用

类别

🔧 修复

no-native-reassign 已弃用

已替换为no-global-assign

类别

no-negated-in-lhs 已弃用

已替换为no-unsafe-negation

类别

no-new-require 已弃用

类别

no-path-concat 已弃用

类别

no-process-env 已弃用

类别

no-process-exit 已弃用

类别

no-restricted-modules 已弃用

类别

no-return-await 已弃用

类别

💡 建议

no-spaced-func 已弃用

已由 func-call-spacing 替换

类别

🔧 修复

no-sync 已弃用

类别

no-tabs 已弃用

类别

no-trailing-spaces 已弃用

类别

🔧 修复

no-whitespace-before-property 已弃用

类别

🔧 修复

nonblock-statement-body-position 已弃用

类别

🔧 修复

object-curly-newline 已弃用

类别

🔧 修复

object-curly-spacing 已弃用

类别

🔧 修复

object-property-newline 已弃用

类别

🔧 修复

one-var-declaration-per-line 已弃用

类别

🔧 修复

operator-linebreak 已弃用

类别

🔧 修复

padded-blocks 已弃用

类别

🔧 修复

padding-line-between-statements 已弃用

类别

🔧 修复

prefer-reflect 已弃用

类别

quote-props 已弃用

类别

🔧 修复

quotes 已弃用

类别

🔧 修复

rest-spread-spacing 已弃用

类别

🔧 修复

semi 已弃用

类别

🔧 修复

semi-spacing 已弃用

类别

🔧 修复

semi-style 已弃用

类别

🔧 修复

space-before-blocks 已弃用

类别

🔧 修复

space-before-function-paren 已弃用

类别

🔧 修复

space-in-parens 已弃用

类别

🔧 修复

space-infix-ops 已弃用

类别

🔧 修复

space-unary-ops 已弃用

类别

🔧 修复

spaced-comment 已弃用

类别

🔧 修复

switch-colon-spacing 已弃用

类别

🔧 修复

template-curly-spacing 已弃用

类别

🔧 修复

template-tag-spacing 已弃用

类别

🔧 修复

wrap-iife 已弃用

类别

🔧 修复

wrap-regex 已弃用

类别

🔧 修复

yield-star-spacing 已弃用

类别

🔧 修复

已移除

这些来自旧版 ESLint(在 弃用策略 存在之前)的规则已被更新的规则替换

global-strict 已移除

已由 strict 替换

no-empty-label 已移除

已由 no-labels 替换

no-extra-strict 已移除

已由 strict 替换

valid-jsdoc 已移除

已由

require-jsdoc 已移除

已由

更改语言