美文网首页
ESLint规则

ESLint规则

作者: itsnows | 来源:发表于2021-04-22 16:50 被阅读0次

    ESLint

    规则

    ESLint中的规则按类别分组,以帮助您了解它们的用途。

    默认情况下未启用任何规则。配置文件中的"extends": "eslint:recommended"属性启用报告常见问题的规则,这些规则带有复选标记 以下。

    在--fix上选项命令行受到有扳手规则报告自动修复问题(空格目前大部分) 以下。

    可能的错误

    这些规则与JavaScript代码中可能的语法或逻辑错误有关:

    for-direction 强制执行“ for”循环更新子句,以正确的方向移动计数器。

    getter-return 在吸气剂中执行return语句

    no-async-promise-executor 禁止将异步功能用作Promise执行器

    no-await-in-loop 在循环内禁止await

    no-compare-neg-zero 不允许与-0比较

    no-cond-assign 禁止条件表达式中的赋值运算符

    no-console 禁止使用“控制台”

    no-constant-condition 禁止条件中的常量表达式

    no-control-regex 禁止在正则表达式中使用控制字符

    no-debugger 禁止使用debugger

    no-dupe-args 禁止在function定义中重复参数

    no-dupe-else-if 在if-else-if链中禁止重复条件

    no-dupe-keys 禁止在对象文字中使用重复键

    no-duplicate-case 禁止重复的案例标签

    no-empty 禁止空块语句

    no-empty-character-class 禁止在正则表达式中使用空字符类

    no-ex-assign 禁止在catch子句中重新分配异常

    no-extra-boolean-cast 禁止不必要的布尔类型转换

    no-extra-parens 禁止不必要的括号

    no-extra-semi 禁止不必要的分号

    no-func-assign 禁止重新分配function声明

    no-import-assign 禁止分配给导入的绑定

    no-inner-declarations 禁止在嵌套块中使用变量或函数声明

    no-invalid-regexp 禁止在RegExp构造函数中使用无效的正则表达式字符串

    no-irregular-whitespace 禁止不规则空格

    no-loss-of-precision 禁止丢失精度的文字数字

    no-misleading-character-class 禁止使用字符类语法中由多个代码点组成的字符

    no-obj-calls 禁止将全局对象属性作为函数调用

    no-promise-executor-return 禁止从Promise执行器函数返回值

    no-prototype-builtins 不允许直接在对象上调用某些Object.prototype方法

    no-regex-spaces 禁止在正则表达式中使用多个空格

    no-setter-return 禁止从设置器返回值

    no-sparse-arrays 禁止稀疏数组

    no-template-curly-in-string 禁止在常规字符串中使用模板文字占位符语法

    no-unexpected-multiline 禁止混淆多行表达式

    no-unreachable 在returnthrowcontinuebreak语句之后禁止不可访问的代码

    no-unreachable-loop 不允许仅允许一次迭代的主体进行循环

    no-unsafe-finally 禁止在“ finally”块中使用控制流语句

    no-unsafe-negation 不允许否定关系运算符的左操作数

    no-unsafe-optional-chaining 禁止在不允许使用“ undefined”值的情况下使用可选链接

    no-useless-backreference 禁止在正则表达式中使用无用的反向引用

    require-atomic-updates 禁止由于使用“ await”或“ yield”而导致比赛状态的作业

    use-isnan 在检查“ NaN”时需要调用“ isNaN()”

    valid-typeof 强制将“ typeof”表达式与有效字符串进行比较

    最佳实践

    这些规则与更好的处事方式有关,可帮助您避免出现问题:

    accessor-pairs 在对象和类中强制执行getter和setter对

    array-callback-return 在数组方法的回调中强制执行“ return”语句

    block-scoped-var 在定义变量的范围内强制使用变量

    class-methods-use-this 强制类方法使用this

    complexity 强制执行程序中允许的最大圈复杂度

    consistent-return 要求return语句始终或永不指定值

    curly 对所有控制语句强制使用一致的花括号样式

    default-case 在switch语句中需要default的情况

    default-case-last 将switch语句中的默认子句强制为最后

    default-param-last 强制默认参数为最后

    dot-location 在点之前和之后强制执行一致的换行符

    dot-notation 尽可能执行点符号

    eqeqeq 要求使用===!==

    grouped-accessor-pairs 需要对象文字和类中的分组访问器对

    guard-for-in 需要for-in循环来包含if语句

    max-classes-per-file 在每个文件中强制使用最大数量的类

    no-alert 禁止使用“警告”,“确认”和“提示”

    no-caller 禁止使用arguments.callerarguments.callee

    no-case-declarations 禁止在case子句中进行词汇声明

    no-constructor-return 禁止从构造函数返回值

    no-div-regex 在正则表达式的开头明确禁止除法运算符

    no-else-return 禁止在if语句中的return语句后使用else块

    no-empty-function 禁止空函数

    no-empty-pattern 禁止使用空的销毁模式

    no-eq-null 禁止在没有类型检查运算符的情况下进行“ null”比较

    no-eval 禁止使用eval()

    no-extend-native 禁止扩展本机类型

    no-extra-bind 禁止不必要地调用.bind()

    no-extra-label 禁止不必要的标签

    no-fallthrough 禁止case语句失败

    no-floating-decimal 禁止数字文字中的前导或尾随小数点

    no-global-assign 禁止分配给本机对象或只读全局变量

    no-implicit-coercion 禁止速记类型转换

    no-implicit-globals 禁止在全球范围内声明

    no-implied-eval 禁止使用类似eval()的方法

    no-invalid-this 在类或类对象之外禁止this关键字

    no-iterator 禁止使用__iterator__属性

    no-labels 禁止带有标签的陈述

    no-lone-blocks 禁止不必要的嵌套块

    no-loop-func 禁止在循环语句中包含不安全引用的函数声明

    no-magic-numbers 禁止魔术数字

    no-multi-spaces 不允许多个空格

    no-multi-str 禁止多行字符串

    no-new 禁止在分配或比较之外使用“新”运算符

    no-new-func 禁止使用带有Function对象的new运算符

    no-new-wrappers 禁止使用带有String,Number和Boolean对象的new运算符

    no-nonoctal-decimal-escape 在字符串文字中不允许\ 8\ 9转义序列

    no-octal 禁止使用八进制字面量

    no-octal-escape 禁止在字符串文字中使用八进制转义序列

    no-param-reassign 禁止重新分配“功能”参数

    no-proto 禁止使用__proto__属性

    no-redeclare 禁止变量重新声明

    no-restricted-properties 禁止某些对象的某些属性

    no-return-assign 在return语句中禁止赋值运算符

    no-return-await 禁止不必要的“返回等待”

    no-script-url 禁止使用javascript:网址

    no-self-assign 不允许双方完全相同的作业

    no-self-compare 不允许在双方完全相同的情况下进行比较

    no-sequences 禁止逗号运算符

    no-throw-literal 禁止将文字作为异常抛出

    no-unmodified-loop-condition 禁止未经修改的循环条件

    no-unused-expressions 禁止未使用的表达式

    no-unused-labels 禁止使用未使用的标签

    no-useless-call 禁止不必要地调用.call().apply()

    no-useless-catch 禁止不必要的catch子句

    no-useless-concat 禁止不必要的串联文字或模板文字

    no-useless-escape 禁止不必要的转义字符

    no-useless-return 禁止多余的返回语句

    no-void 禁止void运算符

    no-warning-comments 禁止在评论中使用指定的警告词

    no-with 禁止with语句

    prefer-named-capture-group 在正则表达式中使用命名的捕获组来强制执行

    prefer-promise-reject-errors 要求使用错误对象作为承诺拒绝原因

    prefer-regex-literals 禁止使用RegExp构造函数,而使用正则表达式文字

    radix 在使用parseInt()时强制使用基数参数的一致用法

    require-await 禁止没有await表达式的异步函数

    require-unicode-regexp 在RegExp上强制使用u标志

    vars-on-top 要求将var声明放在其包含范围的顶部

    wrap-iife 在立即调用“ function”时需要括号

    yoda 要求或禁止“ Yoda”条件

    严格模式

    这些规则与严格模式指令有关:

    strict 要求或禁止严格模式指令

    变数

    这些规则与变量声明有关:

    init-declarations 要求或禁止变量声明中的初始化

    no-delete-var 禁止删除变量

    no-label-var 禁止与变量共享名称的标签

    no-restricted-globals 禁止指定的全局变量

    no-shadow 禁止在外部范围中声明的阴影变量中声明变量

    no-shadow-restricted-names 禁止标识符隐藏受限名称

    no-undef 除非在/ * global * /注释中提到,否则禁止使用未声明的变量

    no-undef-init 不允许将变量初始化为undefined

    no-undefined 禁止使用“ undefined”作为标识符

    no-unused-vars 禁止使用未使用的变量

    no-use-before-define 在定义变量之前禁止使用变量

    文体问题

    这些规则与样式准则有关,因此非常主观:

    array-bracket-newline 在打开和关闭数组括号之后强制换行

    array-bracket-spacing 在数组括号内强制使用一致的间距

    array-element-newline 在每个数组元素后强制换行

    block-spacing 在打开块之后和关闭块之前禁止或强制在块内使用空格

    brace-style 对块实施一致的支撑样式

    camelcase 强制驼峰命名约定

    capitalized-comments 强制或禁止将评论的首字母大写

    comma-dangle 要求或禁止尾随逗号

    comma-spacing 在逗号前后强制保持一致的间距

    comma-style 强制使用一致的逗号样式

    computed-property-spacing 在计算的属性括号内强制使用一致的间距

    consistent-this 捕获当前执行上下文时强制执行一致的命名

    eol-last 在文件末尾要求或禁止换行

    func-call-spacing 要求或不允许在函数标识符及其调用之间使用空格

    func-name-matching 要求函数名称与为其分配的变量或属性的名称匹配

    func-names 要求或禁止命名的“功能”表达式

    func-style 强制使用function声明或表达式的一致用法

    function-call-argument-newline 在函数调用的参数之间强制换行

    function-paren-newline 在函数括号内强制使用一致的换行符

    id-denylist 禁止指定的标识符

    id-length 强制最小和最大标识符长度

    id-match 需要标识符以匹配指定的正则表达式

    implicit-arrow-linebreak 强制箭头功能体的位置

    indent 强制一致的缩进

    jsx-quotes 强制在JSX属性中一致使用双引号或单引号

    key-spacing 在对象文字属性中的键和值之间强制保持一致的间距

    keyword-spacing 在关键字前后强制保持一致的间距

    line-comment-position 强制行注释的位置

    linebreak-style 强制使用一致的换行符样式

    lines-around-comment 在评论周围要求空行

    lines-between-class-members 要求或禁止班级成员之间的空白行

    max-depth 强制可以嵌套块的最大深度

    max-len 强制最大行长

    max-lines 强制每个文件最大行数

    max-lines-per-function 强制执行函数中的最大代码行数

    max-nested-callbacks 强制回调可以嵌套的最大深度

    max-params 在函数定义中强制使用最大数量的参数

    max-statements 强制执行功能块中允许的最大语句数

    max-statements-per-line 强制每行允许的最大语句数

    multiline-comment-style 对多行注释实施特定样式

    multiline-ternary 在三元表达式的操作数之间强制换行

    new-cap 要求构造函数名称以大写字母开头

    new-parens 调用不带参数的构造方法时,强制或禁止使用括号

    newline-per-chained-call 在方法链中的每次调用之后都需要换行

    no-array-constructor 禁止使用Array构造函数

    no-bitwise 禁止按位运算符

    no-continue 禁止使用“ continue”语句

    no-inline-comments 禁止在代码后插入行内注释

    no-lonely-if 禁止将if语句作为else块中的唯一语句

    no-mixed-operators 不允许混合二进制运算符

    no-mixed-spaces-and-tabs 不允许使用空格和制表符进行缩进

    no-multi-assign 禁止使用链接的赋值表达式

    no-multiple-empty-lines 禁止多个空行

    no-negated-condition 禁止否定条件

    no-nested-ternary 禁止嵌套三元表达式

    no-new-object 禁止使用Object构造函数

    no-plusplus 禁止一元运算符“ ++”和“-”

    no-restricted-syntax 禁止指定语法

    no-tabs 禁止所有标签

    no-ternary 禁止三元运算符

    no-trailing-spaces 在行尾不允许尾随空格

    no-underscore-dangle 禁止在标识符中悬挂下划线

    no-unneeded-ternary 存在更简单的替代方案时禁止三元运算符

    no-whitespace-before-property 禁止在属性前使用空格

    nonblock-statement-body-position 强制单行语句的位置

    object-curly-newline 在打开括号后和关闭括号之前强制使用一致的换行符

    object-curly-spacing 在花括号内强制保持一致的间距

    object-property-newline 强制将对象属性放在单独的行上

    one-var 强制在函数中一起或分别声明变量

    one-var-declaration-per-line 要求或禁止在变量声明周围使用换行符

    operator-assignment 在可能的情况下要求或不允许赋值运算符速记

    operator-linebreak 对操作员实施一致的换行样式

    padded-blocks 要求或禁止在块内填充

    padding-line-between-statements 要求或禁止语句之间的填充线

    prefer-exponentiation-operator 禁止使用Math.pow来支持**运算符

    prefer-object-spread 禁止将Object.assign与对象文字一起用作第一个参数,而更喜欢使用对象传播。

    quote-props 要求在对象文字属性名称周围加上引号

    quotes 强制使用反引号,双引号或单引号的一致使用

    semi 要求或禁止使用分号代替ASI

    semi-spacing 在分号之前和之后强制保持一致的间距

    semi-style 强制分号的位置

    sort-keys 要求对对象键进行排序

    sort-vars 要求对同一声明块中的变量进行排序

    space-before-blocks 在块之前强制保持一致的间距

    space-before-function-paren 在“ function”定义打开括号之前强制执行一致的间距

    space-in-parens 强制括号内的间距一致

    space-infix-ops 需要在中缀运算符之间留有间距

    space-unary-ops 在一元运算符之前或之后强制执行一致的间距

    spaced-comment 在注释中的“ //”或“ / *”之后强制保持一致的间距

    switch-colon-spacing 在switch语句的冒号之间强制使用空格

    template-tag-spacing 在模板标签及其文字之间需要或不允许使用空格

    unicode-bom 要求或禁止Unicode字节顺序标记(BOM)

    wrap-regex 在正则表达式文字周围需要括号

    ECMAScript 6

    这些规则与ES6(也称为ES2015)有关:

    arrow-body-style 在箭头功能主体周围需要大括号

    arrow-parens 在箭头函数参数周围需要括号

    arrow-spacing 在箭头函数中的箭头前后强制保持一致的间距

    constructor-super 在构造函数中需要super()调用

    generator-star-spacing 在生成器函数中的*运算符周围强制保持一致的间距

    no-class-assign 禁止重新分配班级成员

    no-confusing-arrow 禁止将箭头功能与比较混淆的地方

    no-const-assign 禁止重新分配const变量

    no-dupe-class-members 禁止重复的班级成员

    no-duplicate-imports 禁止重复的模块导入

    no-new-symbol 用Symbol对象禁止new操作符

    no-restricted-exports 禁止在出口中指定名称

    no-restricted-imports 当由import加载时,禁止指定的模块

    no-this-before-super 在构造函数中调用super()之前禁止this /super

    no-useless-computed-key 禁止在对象和类中使用不必要的计算属性键

    no-useless-constructor 禁止不必要的构造函数

    no-useless-rename 禁止将导入,导出和重组的分配重命名为相同的名称

    no-var 需要letconst而不是var

    object-shorthand 要求或禁止对象文字的方法和属性速记语法

    prefer-arrow-callback 需要使用箭头函数进行回调

    prefer-const 对于声明后永远不会重新分配的变量,需要使用const声明

    prefer-destructuring 需要从数组和/或对象中解构

    prefer-numeric-literals 禁止使用parseInt()和Number.parseInt()支持二进制,八进制和十六进制文字

    prefer-rest-params 需要rest参数而不是arguments

    prefer-spread 需要使用散布运算符,而不是.apply()

    prefer-template 需要模板文字而不是字符串连接

    require-yield 要求生成器函数包含yield

    rest-spread-spacing 强制休息和散布算子及其表达式之间的间隔

    sort-imports 在模块中强制执行排序的导入声明

    symbol-description 需要符号说明

    template-curly-spacing 要求或不允许在模板字符串的嵌入表达式周围留空格

    yield-star-spacing 在Yield 表达式中的周围需要或不允许使用空格

    不推荐使用

    这些规则已根据弃用策略弃用,并由较新的规则代替:

    Deprecated rule 取而代之

    callback-return 回调返回

    (no replacement) (无替代)

    global-require 全球需求

    (no replacement) (无替代)

    handle-callback-err 处理回调错误

    (no replacement) (无替代)

    id-blacklist id拒绝列表

    indent-legacy 缩进

    lines-around-directive 语句之间的填充线

    newline-after-var 语句之间的填充线

    newline-before-return 语句之间的填充线

    no-buffer-constructor 无缓冲构造函数

    (no replacement) (无替代)

    no-catch-shadow 无影

    no-mixed-requires 没有混合的要求

    (no replacement) (无替代)

    no-native-reassign 没有全局分配

    no-negated-in-lhs 没有不安全的否定

    no-new-require 没有新要求

    (no replacement) (无替代)

    no-path-concat 无路径连接

    (no replacement) (无替代)

    no-process-env 无进程环境

    (no replacement) (无替代)

    no-process-exit 无流程退出

    (no replacement) (无替代)

    no-restricted-modules 无限制模块

    (no replacement) (无替代)

    no-spaced-func 功能通话间隔

    no-sync 不同步

    (no replacement) (无替代)

    prefer-reflect 喜欢反射

    (no replacement) (无替代)

    require-jsdoc require-jsdoc

    (no replacement) (无替代)

    valid-jsdoc 有效的jsdoc

    (no replacement) (无替代)

    已移除

    来自旧版ESLint的这些规则(在存在弃用策略之前)已由新规则替换:

    Removed rule 取而代之

    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 空格注释

    相关文章

      网友评论

          本文标题:ESLint规则

          本文链接:https://www.haomeiwen.com/subject/fkrfrltx.html