在数组方法的回调中强制执行 return
语句
💡 Suggestions
ESLint 中的规则按类型分组,以帮助你了解它们的用途。每条规则都有表情符号表示:
¥Rules in ESLint are grouped by type to help you understand their purpose. Each rule has emojis denoting:
在 配置文件 中使用来自 @eslint/js
的 recommended
配置可以启用此规则
此规则报告的一些问题可通过 --fix
命令行 选项自动修复
此规则报告的一些问题可通过编辑器 建议 手动修复
此规则目前已 冻结,不接受功能请求。
这些规则与代码中可能出现的逻辑错误有关: 在数组方法的回调中强制执行
💡 Suggestions
要求在构造函数中调用
✅ Extends
强制
✅ Extends
在 getter 中执行
✅ Extends
禁止使用异步函数作为 Promise 执行器
✅ Extends
禁止 禁止重新分配类成员
✅ Extends
禁止与
✅ Extends
禁止条件表达式中的赋值运算符
✅ Extends
禁止重新分配
✅ Extends
禁止操作不影响值的表达式
✅ Extends
禁止在条件中使用常量表达式
✅ Extends
不允许从构造函数返回值 禁止在正则表达式中使用控制字符
✅ Extends
禁止使用
✅ Extends
禁止
✅ Extends
禁止重复的类成员
✅ Extends
禁止 if-else-if 链中的重复条件
✅ Extends
禁止对象字面量中的重复键
✅ Extends
不允许重复的案例标签
✅ Extends
禁止重复模块导入 禁止在正则表达式中使用空字符类
✅ Extends
不允许空解构模式
✅ Extends
禁止在
✅ Extends
禁止
✅ Extends
禁止重新分配
✅ Extends
禁止分配给导入的绑定
✅ Extends
禁止在嵌套块中声明变量或 禁止在
✅ Extends
禁止不规则空格
✅ Extends
不允许失去精度的字面数字
✅ Extends
不允许在字符类语法中使用多个代码点组成的字符
✅ Extends
💡 Suggestions
禁止具有全局非构造函数的
✅ Extends
不允许将全局对象属性作为函数调用
✅ Extends
禁止从 Promise 执行器函数返回值
💡 Suggestions
禁止直接在对象上调用某些
✅ Extends
💡 Suggestions
禁止双方完全相同的分配
✅ Extends
禁止双方完全相同的比较 禁止从 setter 返回值
✅ Extends
不允许稀疏数组
✅ Extends
禁止在常规字符串中使用模板字面占位符语法 在构造函数中调用
✅ Extends
禁止读取但从未赋值的 禁止使用未声明的变量,除非在
✅ Extends
禁止混淆多行表达式
✅ Extends
禁止未修改的循环条件 禁止在
✅ Extends
不允许循环体只允许一次迭代 禁止
✅ Extends
不允许否定关系运算符的左操作数
✅ Extends
💡 Suggestions
不允许在不允许
✅ Extends
禁止未使用的私有类成员
✅ Extends
禁止未使用的变量
✅ Extends
💡 Suggestions
禁止在定义变量之前使用变量 不使用值时禁止变量赋值 禁止在正则表达式中使用无用的反向引用
✅ Extends
禁止因使用 检查
✅ Extends
💡 Suggestions
强制将
✅ Extends
💡 Suggestions
return
语句super()
for
循环更新子句将计数器移向正确方向return
语句await
进入循环-0
进行比较const
、using
和 await using
变量debugger
function
定义中的重复参数catch
条款中重新分配例外情况case
语句的失败function
声明function
RegExp
构造函数中使用无效的正则表达式字符串new
运算符Object.prototype
方法super()
之前禁止 this
/super
let
或 var
变量/*global */
注释中提及return
、throw
、continue
和 break
语句后出现无法访问的代码finally
块中的控制流语句undefined
值的上下文中使用可选链接await
或 yield
而导致竞争条件的分配NaN
时需要调用 isNaN()
typeof
表达式与有效字符串进行比较
这些规则建议了替代的使用方式: 在对象和类中强制执行 getter 和 setter 对 ❄️ Frozen 箭头函数体周围需要大括号
🔧 Fix
在定义的范围内强制使用变量 ❄️ Frozen 强制执行驼峰命名约定 ❄️ Frozen 强制或禁止注释首字母大写
🔧 Fix
强制类方法使用 强制执行程序中允许的最大圈复杂度 要求 ❄️ Frozen 在捕获当前执行上下文时强制执行一致的命名 ❄️ Frozen 对所有控制语句强制执行一致的大括号样式
🔧 Fix
在 强制 ❄️ Frozen 强制默认参数在最后 ❄️ Frozen 尽可能使用点符号
🔧 Fix
要求使用
🔧 Fix
💡 Suggestions
❄️ Frozen 要求函数名称与分配给它们的变量或属性的名称相匹配 要求或禁止命名的 ❄️ Frozen 强制一致使用 要求对象字面量和类中的分组访问器对 要求 ❄️ Frozen 不允许指定的标识符 ❄️ Frozen 强制执行最小和最大标识符长度 ❄️ Frozen 要求标识符匹配指定的正则表达式 ❄️ Frozen 要求或禁止在变量声明中进行初始化 ❄️ Frozen 要求或禁止逻辑赋值运算符速记
🔧 Fix
💡 Suggestions
强制每个文件的最大类数 强制执行块可以嵌套的最大深度 强制每个文件的最大行数 在函数中强制执行最大代码行数 强制执行回调可以嵌套的最大深度 在函数定义中强制执行最大数量的参数 强制执行功能块中允许的最大语句数 要求构造函数名称以大写字母开头 禁止使用 禁止
🔧 Fix
💡 Suggestions
禁止按位运算符 禁止使用 不允许在 case 子句中进行词法声明
✅ Extends
💡 Suggestions
禁止使用
💡 Suggestions
❄️ Frozen 禁止 不允许删除变量
✅ Extends
❄️ Frozen 在正则表达式的开头明确禁止等号
🔧 Fix
❄️ Frozen 禁止
🔧 Fix
不允许空块语句
✅ Extends
💡 Suggestions
不允许空函数 不允许空静态块
✅ Extends
禁止在没有类型检查运算符的情况下进行 禁止使用 禁止扩展原生类型 禁止对
🔧 Fix
❄️ Frozen 禁止不必要的布尔转换
✅ Extends
🔧 Fix
❄️ Frozen 禁止不必要的标签
🔧 Fix
不允许分配给原生对象或只读全局变量
✅ Extends
❄️ Frozen 禁止速记类型转换
🔧 Fix
💡 Suggestions
不允许在全局作用域内声明 禁止使用类似 ❄️ Frozen 禁止代码后的内联注释 禁止在 禁止使用 ❄️ Frozen 禁止与变量共享名称的标签 ❄️ Frozen 禁止标记语句 禁止不必要的嵌套块 ❄️ Frozen 不允许
🔧 Fix
禁止在循环语句中包含不安全引用的函数声明 ❄️ Frozen 禁止幻数 禁止使用链式赋值表达式 ❄️ Frozen 禁止多行字符串 ❄️ Frozen 禁止否定条件 ❄️ Frozen 禁止嵌套的三元表达式 禁止在赋值或比较之外使用 禁止使用 禁止对 禁止在字符串字面中使用
✅ Extends
💡 Suggestions
禁止调用不带参数的
💡 Suggestions
禁止八进制字面
✅ Extends
禁止在字符串字面中使用八进制转义序列 禁止重新分配函数参数 ❄️ Frozen 禁止使用一元运算符 禁止使用 不允许变量重新声明
✅ Extends
禁止在正则表达式中使用多个空格
✅ Extends
🔧 Fix
禁止在导出中指定名称 禁止指定的全局变量 禁止某些对象的某些属性 不允许指定的语法 禁止在 禁止 禁止逗号运算符 禁止在外部作用域中声明的隐藏变量的变量声明 禁止标识符隐藏受限名称
✅ Extends
❄️ Frozen 禁止三元运算符 不允许将字面作为异常抛出 ❄️ Frozen 不允许将变量初始化为
🔧 Fix
❄️ Frozen 禁止使用 ❄️ Frozen 不允许在标识符中使用悬挂下划线 ❄️ Frozen 当存在更简单的替代方案时,禁止使用三元运算符
🔧 Fix
禁止未使用的表达式 禁止未使用的标签
✅ Extends
🔧 Fix
禁止对 禁止不必要的
✅ Extends
❄️ Frozen 禁止在对象和类中使用不必要的计算属性键
🔧 Fix
❄️ Frozen 禁止不必要的字面或模板字面串联 禁止不必要的构造函数
💡 Suggestions
禁止不必要的转义字符
✅ Extends
💡 Suggestions
不允许将导入、导出和解构的分配重命名为相同的名称
🔧 Fix
禁止冗余返回语句
🔧 Fix
需要
🔧 Fix
❄️ Frozen 禁止 ❄️ Frozen 不允许在注释中指定警告条款 禁止
✅ Extends
❄️ Frozen 要求或禁止对象字面的方法和属性速记语法
🔧 Fix
❄️ Frozen 强制变量在函数中一起或单独声明
🔧 Fix
❄️ Frozen 尽可能要求或禁止赋值运算符简写
🔧 Fix
❄️ Frozen 需要使用箭头函数进行回调
🔧 Fix
声明后永远不会重新分配的变量需要
🔧 Fix
❄️ Frozen 需要从数组和/或对象中解构
🔧 Fix
❄️ Frozen 禁止使用
🔧 Fix
在正则表达式中强制使用命名捕获组
💡 Suggestions
❄️ Frozen 不允许
🔧 Fix
不允许使用
🔧 Fix
❄️ Frozen 禁止使用
🔧 Fix
需要使用 Error 对象作为 Promise 拒绝的原因 禁止使用
💡 Suggestions
需要 rest 参数而不是 ❄️ Frozen 需要扩展运算符而不是 ❄️ Frozen 需要模板字面而不是字符串连接
🔧 Fix
使用
💡 Suggestions
禁止没有
💡 Suggestions
强制在正则表达式上使用
💡 Suggestions
要求生成器函数包含
✅ Extends
❄️ Frozen 强制模块内排序的
🔧 Fix
❄️ Frozen 要求对对象键进行排序 ❄️ Frozen 要求对同一声明块中的变量进行排序
🔧 Fix
要求或禁止严格模式指令
🔧 Fix
需要符号说明 ❄️ Frozen 要求 ❄️ Frozen 要求或禁止 “Yoda” 条件
🔧 Fix
this
return
语句始终或从不指定值switch
语句中要求 default
个案例switch
语句中的 default
子句位于最后===
和 !==
function
表达式function
声明或分配给变量的表达式for-in
循环包含 if
语句alert
、confirm
和 prompt
Array
构造函数arguments.caller
或 arguments.callee
console
continue
语句if
语句中的 return
语句之后的 else
块null
比较eval()
.bind()
进行不必要的调用eval()
的方法this
的值为 undefined
的上下文中使用 this
__iterator__
属性if
语句作为 else
块中的唯一语句new
运算符Function
对象的 new
运算符String
、Number
和 Boolean
对象使用 new
运算符\8
和 \9
转义序列Object
构造函数++
和 --
__proto__
属性import
加载时禁止指定模块return
语句中使用赋值运算符javascript:
URLundefined
undefined
作为标识符.call()
和 .apply()
进行不必要的调用catch
条款let
或 const
而不是 var
void
运算符with
语句const
声明Math.pow
以支持 **
运算符parseInt()
和 Number.parseInt()
支持二进制、八进制和十六进制字面Object.prototype.hasOwnProperty.call()
,更喜欢使用 Object.hasOwn()
Object.assign
和对象字面量作为第一个参数,而应使用对象扩展RegExp
构造函数以支持正则表达式字面arguments
.apply()
parseInt()
时强制一致使用基数参数await
表达式的异步函数u
或 v
标志yield
import
声明var
声明放在其包含范围的顶部
这些规则关心的是代码的外观而不是它的执行方式: 要求或禁止 Unicode 字节顺序标记 (BOM)
🔧 Fix
根据 弃用政策,这些规则已被弃用,并被新规则取代:
array-bracket-newline
已弃用
❌
🔧 Fix
array-bracket-spacing
已弃用
❌
🔧 Fix
array-element-newline
已弃用
❌
🔧 Fix
arrow-parens
已弃用
❌
🔧 Fix
arrow-spacing
已弃用
❌
🔧 Fix
block-spacing
已弃用
❌
🔧 Fix
brace-style
已弃用
❌
🔧 Fix
callback-return
已弃用
替换为
❌
comma-dangle
已弃用
❌
🔧 Fix
comma-spacing
已弃用
❌
🔧 Fix
comma-style
已弃用
❌
🔧 Fix
computed-property-spacing
已弃用
❌
🔧 Fix
dot-location
已弃用
❌
🔧 Fix
eol-last
已弃用
替换为
❌
🔧 Fix
func-call-spacing
已弃用
❌
🔧 Fix
function-call-argument-newline
已弃用
替换为
❌
🔧 Fix
function-paren-newline
已弃用
❌
🔧 Fix
generator-star-spacing
已弃用
❌
🔧 Fix
global-require
已弃用
替换为
❌
handle-callback-err
已弃用
❌
id-blacklist
已弃用
替换为
❌
implicit-arrow-linebreak
已弃用
❌
🔧 Fix
indent
已弃用
替换为
❌
🔧 Fix
indent-legacy
已弃用
替换为
❌
🔧 Fix
jsx-quotes
已弃用
❌
🔧 Fix
key-spacing
已弃用
❌
🔧 Fix
keyword-spacing
已弃用
❌
🔧 Fix
line-comment-position
已弃用
❌
linebreak-style
已弃用
❌
🔧 Fix
lines-around-comment
已弃用
❌
🔧 Fix
lines-around-directive
已弃用
替换为
❌
🔧 Fix
lines-between-class-members
已弃用
❌
🔧 Fix
max-len
已弃用
替换为
❌
max-statements-per-line
已弃用
❌
multiline-comment-style
已弃用
❌
🔧 Fix
multiline-ternary
已弃用
❌
🔧 Fix
new-parens
已弃用
❌
🔧 Fix
newline-after-var
已弃用
替换为
❌
🔧 Fix
newline-before-return
已弃用
替换为
❌
🔧 Fix
newline-per-chained-call
已弃用
❌
🔧 Fix
no-buffer-constructor
已弃用
替换为
❌
no-catch-shadow
已弃用
替换为
❌
no-confusing-arrow
已弃用
❌
🔧 Fix
no-extra-parens
已弃用
❌
🔧 Fix
no-extra-semi
已弃用
❌
🔧 Fix
no-floating-decimal
已弃用
❌
🔧 Fix
no-mixed-operators
已弃用
❌
no-mixed-requires
已弃用
替换为
❌
no-mixed-spaces-and-tabs
已弃用
❌
no-multi-spaces
已弃用
❌
🔧 Fix
no-multiple-empty-lines
已弃用
❌
🔧 Fix
no-native-reassign
已弃用
替换为
❌
no-negated-in-lhs
已弃用
❌
no-new-object
已弃用
❌
no-new-require
已弃用
替换为
❌
no-new-symbol
已弃用
❌
no-path-concat
已弃用
替换为
❌
no-process-env
已弃用
替换为
❌
no-process-exit
已弃用
替换为
❌
no-restricted-modules
已弃用
❌
no-return-await
已弃用
❌
💡 Suggestions
no-spaced-func
已弃用
❌
🔧 Fix
no-sync
已弃用
替换为
❌
no-tabs
已弃用
替换为
❌
no-trailing-spaces
已弃用
❌
🔧 Fix
no-whitespace-before-property
已弃用
替换为
❌
🔧 Fix
nonblock-statement-body-position
已弃用
替换为
❌
🔧 Fix
object-curly-newline
已弃用
❌
🔧 Fix
object-curly-spacing
已弃用
❌
🔧 Fix
object-property-newline
已弃用
❌
🔧 Fix
one-var-declaration-per-line
已弃用
替换为
❌
🔧 Fix
operator-linebreak
已弃用
❌
🔧 Fix
padded-blocks
已弃用
❌
🔧 Fix
padding-line-between-statements
已弃用
替换为
❌
🔧 Fix
prefer-reflect
已弃用
❌
quote-props
已弃用
❌
🔧 Fix
quotes
已弃用
替换为
❌
🔧 Fix
rest-spread-spacing
已弃用
❌
🔧 Fix
semi
已弃用
替换为
❌
🔧 Fix
semi-spacing
已弃用
❌
🔧 Fix
semi-style
已弃用
❌
🔧 Fix
space-before-blocks
已弃用
❌
🔧 Fix
space-before-function-paren
已弃用
❌
🔧 Fix
space-in-parens
已弃用
❌
🔧 Fix
space-infix-ops
已弃用
❌
🔧 Fix
space-unary-ops
已弃用
❌
🔧 Fix
spaced-comment
已弃用
❌
🔧 Fix
switch-colon-spacing
已弃用
❌
🔧 Fix
template-curly-spacing
已弃用
❌
🔧 Fix
template-tag-spacing
已弃用
❌
🔧 Fix
wrap-iife
已弃用
❌
🔧 Fix
wrap-regex
已弃用
❌
🔧 Fix
yield-star-spacing
已弃用
❌
🔧 Fix
callback-return
in eslint-plugin-n
eol-last
in @stylistic/eslint-plugin
function-call-argument-newline
in @stylistic/eslint-plugin
global-require
in eslint-plugin-n
id-denylist
indent
in @stylistic/eslint-plugin
indent
in @stylistic/eslint-plugin
padding-line-between-statements
in @stylistic/eslint-plugin
max-len
in @stylistic/eslint-plugin
padding-line-between-statements
in @stylistic/eslint-plugin
padding-line-between-statements
in @stylistic/eslint-plugin
no-deprecated-api
in eslint-plugin-n
no-shadow
no-mixed-requires
in eslint-plugin-n
no-global-assign
no-new-require
in eslint-plugin-n
no-path-concat
in eslint-plugin-n
no-process-env
in eslint-plugin-n
no-process-exit
in eslint-plugin-n
no-sync
in eslint-plugin-n
no-tabs
in @stylistic/eslint-plugin
no-whitespace-before-property
in @stylistic/eslint-plugin
nonblock-statement-body-position
in @stylistic/eslint-plugin
one-var-declaration-per-line
in @stylistic/eslint-plugin
padding-line-between-statements
in @stylistic/eslint-plugin
quotes
in @stylistic/eslint-plugin
semi
in @stylistic/eslint-plugin
旧版本 ESLint(在 弃用政策 存在之前)中的这些规则已被新规则取代:
generator-star
已移除
global-strict
已移除
替换为
no-arrow-condition
已移除
no-comma-dangle
已移除
替换为
no-empty-class
已移除
no-empty-label
已移除
替换为
no-extra-strict
已移除
替换为
no-reserved-keys
已移除
替换为
no-space-before-semi
已移除
替换为
no-wrap-func
已移除
替换为
space-after-function-name
已移除
space-after-keywords
已移除
替换为
space-before-function-parentheses
已移除
space-before-keywords
已移除
替换为
space-in-brackets
已移除
替换为
space-return-throw-case
已移除
替换为
space-unary-word-ops
已移除
替换为
spaced-line-comment
已移除
替换为
valid-jsdoc
已移除
require-jsdoc
已移除
strict
comma-dangle
no-labels
strict
quote-props
semi-spacing
no-extra-parens
keyword-spacing
keyword-spacing
object-curly-spacing
or
array-bracket-spacing
or
computed-property-spacing
keyword-spacing
space-unary-ops
spaced-comment