当前位置: 主页 > js >

eslint规范大全(新手一定要了解)

2020-10-20  |  来源:前端入门建站教程  |  作者:我爱vuejs

下面前端入门建站教程为大家介绍一下eslint规范大全(新手一定要了解)

规则名称 错误级别 说明
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规范大全(新手一定要了解)”的全面内容,想了解更多关于 js 文章,请继续关注前端入门建站教程。

最新文章

猜你喜欢