规则名称 | 错误级别 | 说明 |
---|---|---|
for-direction | error | for 循环的方向要求必须正确 |
getter-return | error | getter必须有返回值,并且禁止返回值为undefined, 比如 return; |
no-await-in-loop | off | 允许在循环里面使用await |
no-console | off | 允许在代码里面使用console |
no-prototype-builtins | warn | 直接调用对象原型链上的方法 |
valid-jsdoc | off | 函数注释一定要遵守jsdoc规则 |
no-template-curly-in-string | warn | 在字符串里面出现{和}进行警告 |
accessor-pairs | warn | getter和setter没有成对出现时给出警告 |
array-callback-return | error | 对于数据相关操作函数比如reduce, map, filter等,callback必须有return |
block-scoped-var | error | 把var关键字看成块级作用域,防止变量提升导致的bug |
class-methods-use-this | error | 要求在Class里面合理使用this,如果某个方法没有使用this,则应该申明为静态方法 |
complexity | off | 关闭代码复杂度限制 |
default-case | error | switch case语句里面一定需要default分支 |
no-alert | warn | 代码中使用了alert给出警告 |
no-empty-function | error | 不允许使用空函数,除非在空函数里面给出注释说明 |
no-eq-null | off | foo == null 用于判断 foo 不是 undefined 并且不是 null,比较常用,故允许此写法 |
no-eval | error | 代码中不允许使用eval |
no-extend-native | error | 禁止修改原生对象 |
no-extra-bind | error | 禁止出现没必要的 bind |
no-floating-decimal | error | 表示小数时,禁止省略 0,比如 .5 |
no-implicit-coercion | off | 允许这些写法,性能上更好 |
no-implicit-globals | error | 浏览器端不允许定义全局变量和全局函数,可以通过挂载到window对象上和使用IIFE表达式 |
no-invalid-this | off | this的使用比较灵活 |
no-iterator | error | 禁止使用 iterator |
no-lone-blocks | error | 禁止使用没必要的 {} 作为代码块 |
no-magic-numbers | error | 允许代码里面使用魔法数(多次使用,没有使用枚举的方式进行定义的数字) |
no-multi-spaces | error | 禁止出现连续的多个空格,除非是注释前,或对齐对象的属性、变量定义、import 等 |
no-multi-str | error | 禁止使用/来进行字符串换行 |
no-new | error | 禁止直接 new 一个类而不赋值 |
no-new-func | error | 禁止使用 new Function,比如 const expression = new Function("a", "b", "return a + b"); |
no-new-wrappers | error | 对于JS的原始类型比如String, Number, Boolean等,不允许使用new 操作符 |
no-octal-escape | error | 禁止使用八进制的转义符比如 "Copyright \251" |
no-param-reassign | error | 禁止对函数的参数重新赋值 |
no-proto | error | 禁止直接使用__proto__属性,可以使用getPrototypeOf替代 |
no-return-assign | error | return语句中禁止进行赋值语句操作 |
no-return-await | error | 禁止在 return 语句里使用 await |
no-script-url | error | 允许location.href = 'javascript:void(0)'的形式 |
no-throw-literal | error | 禁止throw一个字面量,比如 throw 2, throw "error"; |
no-useless-call | error | 禁止出现没必要的 call 或 apply |
no-useless-concat | error | 禁止出现没必要的字符串拼接,比如 'hello' + 'world',可以直接写成'hello world' |
no-useless-return | off | 对return的使用不进行限制 |
no-void | error | 禁止在代码里面出现void |
no-warning-comments | off | TODO 和 FIXME 类型的注释用的比较多,不限制 |
no-with | error | 代码里面禁止使用 with 表达式 |
prefer-promise-reject-errors | error | Promise 的 reject方法必须传入 Error 对象,而不能是字面量 |
radix | error | parseInt的时候第二个参数可以不传入,默认就是10进制 |
require-await | error | async函数里面必须有await |
vars-on-top | error | var变量定义没必要限制太严格 |
init-declarations | off | 变量定义时强制赋值或者强制先定义后赋值有点严格 |
no-label-var | error | 禁止label名称和var相同 |
no-undefined | error | 进制将undefined当成标志符 |
no-use-before-define | error | 变量使用之前必须进行定义 |
no-undef | error | 禁止使用未定义的变量, typeof 后面的变量除外 |
array-bracket-newline | off | 数组前后括号必须换行的要求有点严格,不采纳 |
array-bracket-spacing | error | 数组的括号前后禁止有空格 |
array-element-newline | off | 数组里面的元素强制换行有点严格,不采纳 |
block-spacing | off | 代码块如果在一行,则大括号内的首尾必须有空格,比如 function (a, b) { retur a + b; } |
brace-style | error | 大括号的用法要求 |
camelcase | error | 变量命名需要以驼峰命名法,对属性字段不做限制 |
capitalized-comments | off | 注释的首字母必须大写,对此不做限制 |
comma-dangle | error | 默认不允许尾随逗号, ie8及以下浏览器会报错 |
comma-spacing | error | 逗号后面强制要求加空格 |
comma-style | error | 逗号必须写在最后面 |
func-call-spacing | error | 函数名和执行它的括号之间禁止有空格 |
func-name-matching | error | 函数赋值给变量时,函数名必须和赋值的变量名一致的限制不采纳 |
func-names | off | 不限制匿名函数的命名问题 |
func-style | off | 必须只使用函数申明或只使用函数表达式 |
id-blacklist | off | 变量黑名单,不采纳 |
id-length | off | 变量命名长度不做限制 |
id-match | off | 变量命令的字符需要在某个正则匹配规则里面,不采纳 |
indent | error | 一个缩进必须用四个空格替代, switch语句里面的case 2个空格 |
jsx-quotes | error | jsx 中的属性必须用双引号 |
key-spacing | error | 对象字面量中冒号前面禁止有空格,后面必须有空格 |
keyword-spacing | error | 关键字前后必须要加上空格 |
line-comment-position | off | 注释的位置不进行限制 |
linebreak-style | off | 对换行符不限制 |
lines-around-comment | off | 注释前后必须有空行的限制,不采纳 |
max-depth | error | 代码块嵌套的深度禁止超过 5 层 |
max-len | error | 单行最多允许80个字符, 对包含url的行不进行此限制 |
max-lines | off | 某个文件能够放置的最大代码行数,不限制 |
max-nested-callbacks | error | 回调函数嵌套禁止超过 3 层,多了请用 async await 替代 |
max-params | error | 函数的参数禁止超过 10 个 |
max-statements | off | 一个函数块里面的语句行数的限制,不采纳 |
max-statements-per-line | off | 一行中的语句数量 |
multiline-ternary | off | 三目元算语句换行限制,不采纳 |
new-cap | error | 构造函数的必须以大写字母开头 |
new-parens | error | new 后面类必须带上括号 |
newline-per-chained-call | off | 链式调用必须换行的限制,不采纳 |
no-array-constructor | error | 禁止使用 Array 构造函数 |
no-bitwise | off | 位操作,不进行限制 |
no-continue | off | continue语句的使用,不限制 |
no-inline-comments | off | 内联注释不限制 |
no-lonely-if | off | 允许单独使用if语句,而不配套使用else、else if等 |
no-mixed-spaces-and-tabs | error | 禁止混用空格和缩进 |
no-multi-assign | off | 连续赋值比如 a = b = c = 4; 不限制 |
no-multiple-empty-lines | off | 连续空行,不限制 |
no-negated-condition | off | if里面不允许出现否定表达式, 不采纳 |
no-nested-ternary | off | 允许三元表达式的嵌套使用 |
no-new-object | error | 禁止直接 new Object |
no-plusplus | off | 允许使用 ++ 或 — |
no-ternary | off | 允许使用三元表达式 |
no-trailing-spaces | error | 禁止行尾部有空格 |
no-underscore-dangle | off | 允许变量名中出现下划线 |
no-whitespace-before-property | error | 禁止属性前有空格,比如 foo. bar() |
object-curly-newline | error | 大括号内的首尾必须有换行 |
object-property-newline | off | 对象字面量内的属性每行必须只有一个,不采纳 |
one-var | error | 声明变量时,禁止一条语句声明多个变量 |
one-var-declaration-per-line | error | 变量申明必须每行一个 |
quotes | error | 必须使用单引号 |
semi | error | 结尾必须有分号 |
semi-spacing | error | 一行有多个语句时,分号前面禁止有空格,分号后面必须有空格 |
semi-style | error | 分号必须写在行尾,禁止在行首出现 |
space-before-blocks | error | if, function 等的大括号之前必须要有空格 |
space-before-function-paren | error | function 的小括号前面必须有空格 |
space-in-parens | error | 小括号内的首尾禁止有空格 |
space-infix-ops | error | 操作符左右必须有空格, const ret = 'hello' + 'world' |
spaced-comment | off | 注释空格不限制 |
switch-colon-spacing | error | case 子句冒号前禁止有空格,冒号后必须有空格 |
arrow-body-style | off | 箭头函数返回值可以只是一个值,没必须一定用大括号写成多条语句. |
arrow-parens | off | 箭头函数的参数必须用括号包裹起来,限制去掉。当只有一个参数时,没必要使用括号 |
arrow-spacing | error | 箭头函数的箭头前后必须有空格 |
generator-star-spacing | error | generator 的 * 前面禁止有空格,后面必须有空格 |
no-duplicate-imports | error | 禁止import重复模块 |
no-var | error | 禁止采用var去定义变量,必须使用let或者const |
prefer-arrow-callback | off | 禁止采用var去定义变量,必须使用let或者const |
prefer-const | error | 变量如果没有发生修改,则必须使用const进行命名 |
prefer-destructuring | off | 强制使用结构的限制,不采纳 |
prefer-template | off | 不强制使用模板字符串,字符串拼接也是可取的 |
rest-spread-spacing | error | … 的后面禁止有空格 |
sort-imports | off | import 排序不用限制 |
template-curly-spacing | error | 模板字符串内的首尾禁止有空格,比如${test}不要写成${ test } |
yield-star-spacing | error | yield* 后面必须加空格 |
沃梦达教程
本文标题为:eslint规范大全(新手一定要了解)
基础教程推荐
猜你喜欢
- 浅析Ajax的 原理及优缺点 2022-12-15
- JS获取浮动(float)元素的style.left值为空的快速解决办法 2024-03-12
- apply和call方法定义及apply和call方法的区别 2024-01-07
- VBScript编写Windows防止锁屏脚本程序 2024-01-05
- 利用momentJs做一个倒计时组件(实例代码) 2023-08-08
- Firefox返回时Iframe的显示Bug的解决方法 2024-04-23
- CSS实现Tab布局的简单实例(必看) 2023-12-20
- vuejs导出功能封装table 2024-12-09
- 通过Ajax手动解决WordPress WP-PostViews不计数的问题 2022-12-15
- HTML自定义弹出框 2023-10-29