eslint规则解读

# eslint规则解读

# 什么是 ESLint ?

ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具
它的目标是保证代码的一致性和避免错误。

# 优点

团队协作时,团队的代码风格统一,能够大大减少沟通成本。

# 细说规则

# 1.‘no-cond-assign’

规则细节:

这条规则不允许在试验条件不明确赋值运算符if,for,while,和do...while语句。 错误示范:

if (user.jobTitle = "manager") {
  // user.jobTitle is now incorrect
}

正确示范:

var x;
if (x === 0) {
    var b = 1;
}

# 2.‘no-console’

规则细节:

此规则禁止调用console对象的方法。 错误示范:

console.log("Made it here.");
console.error("That shouldn't have happened.");

正确示范:

console.log("Hello world!");

3.'comma-dangle' : [1,"always-multiline"]
//   数组和对象键值对最后一个逗号, never参数:不能带末尾的逗号,
//   always参数:必须带末尾的逗号,
//   always-multiline:多行模式必须带逗号,单行模式不能带逗号

4.'no-debugger'   //   禁用 debugger

5.'no-dupe-args'   //   禁止 function 定义中出现重名参数

6.'no-dupe-keys'   //   禁止对象字面量中出现重复的 key

7.'no-duplicate-case'   //   禁止重复的 case 标签

8.'no-empty'   //   禁止空语句块

9.'no-extra-boolean-cast'   //   禁止不必要的布尔转换

10.'no-extra-parens'   //   禁止不必要的括号 //(a * b) + c;//报错

11.'no-extra-semi'   //   禁止不必要的分号

12.'no-func-assign'   //   禁止对 function 声明重新赋值

13.'no-irregular-whitespace'   //   禁止在字符串和注释之外不规则的空白

14.'no-regex-spaces'   //   禁止正则表达式字面量中出现多个空格

15.'no-unexpected-multiline'   //   禁止出现令人困惑的多行表达式

16.'array-callback-return'   //   强制数组方法的回调函数中有 return 语句

17.'eqeqeq'   //   使用 === 替代 == allow-null允许null和undefined==

18.'global-require'   //   要求 require() 出现在顶层模块作用域中

19.'max-len'   //   强制一行的最大长度

20.'no-shadow'   //   禁止 var 声明 与外层作用域的变量同名

21.'no-return-assign'   //   禁用指定的通过 require 加载的模块

22.'no-mixed-operators'   //   禁止混合使用不同的操作符

23.'camelcase'   //   双峰驼命名格式

24.'no-restricted-globals'   //   禁用特定的全局变量

25.'no-restricted-syntax'   //   禁止使用特定的语法

26.'guard-for-in'   //   要求 for-in 循环中有一个 if 语句

27.'no-unused-vars'   //   禁止出现未使用过的变量

28.'no-param-reassign'   //   不允许对 function 的参数进行重新赋值

29.'func-names'   //   强制使用命名的 function 表达式

30.'consistent-return'   //   要求 return 语句要么总是指定返回的值,要么不指定

31.'no-plusplus'   //   禁止使用一元操作符 ++ 和 --

32.'no-undef'   //   禁用未声明的变量,除非它们在 /*global */ 注释中被提到

33.'no-continue'   //   禁用 continue 语句

34.'no-loop-func'   //   禁止在循环中出现 function 声明和表达式

35.'no-nested-ternary'   //   不允许使用嵌套的三元表达式

36.'no-sequences'   //   禁用逗号操作符

36.'no-unused-expressions'   //   禁止出现未使用过的表达式

37.'prefer-rest-params'   //   建议使用rest parameters而不是arguments

38.‘no-alert’   //   禁用 alert、confirm 和 prompt

39.‘no-underscore-dangle’   //   禁止标识符中有悬空下划线_bar

40.‘radix’   //   强制在parseInt()使用基数参数

41.‘no-prototype-builtins’   //   禁止直接使用 Object.prototypes 的内置属性

42.‘no-script-url’   //   禁止使用 javascript: url

用胳膊当枕头
최낙타