跳到主要内容

ESLint 常用规则

ESLint详细规则官网文档

规则名说明
no-cond-assign禁止条件表达式中出现模棱两可的赋值操作符
no-console禁用 console
no-constant-condition禁止在条件中使用常量表达式
no-debugger禁用 debugger
no-dupe-args禁止 function 定义中出现重名参数
no-dupe-keys禁止对象字面量中出现重复的 key
no-duplicate-case禁止出现重复的 case 标签
no-empty禁止出现空语句块
no-ex-assign禁止对 catch 子句的参数重新赋值
no-extra-boolean-cast禁止不必要的布尔转换
no-extra-parens禁止不必要的括号
no-extra-semi禁止不必要的分号
no-func-assign禁止对 function 声明重新赋值
no-inner-declarations禁止在嵌套的块中声明变量或函数
no-irregular-whitespace禁止不规则的空白字符
no-obj-calls禁止把全局对象当函数调用
no-sparse-arrays禁用稀疏数组
no-prototype-builtins禁止直接使用 Object.prototype 的内置属性
no-unexpected-multiline禁止令人困惑的换行
no-unreachable禁止出现无法访问的代码
use-isnan使用 isNaN() 检查 NaN
valid-typeoftypeof 比较时必须是合法字符串
array-callback-return数组方法的回调中必须有 return
block-scoped-var限制变量只能在定义块中使用
complexity限制程序的圈复杂度
consistent-return要么都 return 值,要么都不 return
curly控制语句强制使用大括号
default-caseswitch 要有 default 分支
dot-location点号换行方式保持一致
dot-notation尽可能使用点号访问属性
eqeqeq使用 === 和 !==
guard-for-infor-in 中必须有 if 过滤
no-alert禁用 alert、confirm、prompt
no-case-declarationscase 子句中不能用 let/const/function/class
no-else-returnreturn 后不要出现 else
no-empty-function禁止空函数
no-eq-null禁止与 null 比较时不使用类型检查
no-eval禁用 eval()
no-extra-bind禁止不必要的 .bind()
no-fallthrough禁止 switch case 贯穿
no-floating-decimal禁止数字字面量使用前导或尾随小数点
no-implicit-coercion禁止短符号类型转换
no-implicit-globals禁止定义全局变量
no-invalid-this禁止 this 在类外使用
no-lone-blocks禁用不必要的嵌套块
no-loop-func禁止循环中定义函数
no-magic-numbers禁用魔法数字
no-multi-spaces禁止多个空格
no-multi-str禁止多行字符串
no-new禁止不赋值或不使用的 new 操作
no-new-func禁止使用 new Function
no-new-wrappers禁止对基本类型使用 new
no-param-reassign禁止重新赋值参数
no-redeclare禁止变量重复声明
no-return-assignreturn 中不能有赋值语句
no-script-url禁止使用 javascript: URL
no-self-assign禁止自我赋值
no-self-compare禁止自身比较
no-sequences禁用逗号操作符
no-unmodified-loop-condition禁止不变的循环条件
no-unused-expressions禁止无用表达式
no-useless-call禁止多余的 .call() 或 .apply()
no-useless-concat禁止无意义的字符串连接
vars-on-topvar 声明必须在作用域顶部
strict要求或禁止使用严格模式
init-declarations是否允许声明时未初始化
no-catch-shadowcatch 参数不能与外层变量同名
no-restricted-globals禁用特定全局变量
no-shadow禁止变量名与外层作用域重复
no-undef禁用未声明变量
no-undef-init禁止将变量初始化为 undefined
no-unused-vars禁止声明了但未使用的变量
no-use-before-define禁止在定义前使用变量
global-requirerequire() 必须在顶层作用作用域中
handle-callback-err回调函数中必须处理错误
no-mixed-requiresrequire 要与声明分开
no-new-require禁止 new require()
no-path-concat禁止对 __dirname 和 __filename 拼接字符串
no-restricted-modules禁用通过 require 加载的模块
array-bracket-spacing数组括号内要有一致的空格
block-spacing块内要有一致空格
brace-style大括号风格要一致
camelcase使用 camelCase 命名
comma-spacing逗号前后空格一致
comma-style逗号风格一致
computed-property-spacing计算属性括号间空格一致
eol-last文件末尾必须有空行
func-names必须命名函数表达式
func-style函数风格一致(声明/表达式)
indent缩进一致
jsx-quotesJSX 属性引号一致
key-spacing对象属性键值间空格一致
keyword-spacing关键字前后空格一致
linebreak-style换行风格一致(LF/CRLF)