eslint规则总结

2023-05-16

"off" or 0 - 关闭规则
"warn" or 1 - 将规则视为一个警告(不会影响退出码)
"error" or 2 - 将规则视为一个错误 (退出码为1)
no-constant-condition  不允许常量条件表达式
no-cond-assign     禁止条件表达式中出现赋值操作符
prefer-const   没有再赋值的变量 只能使用const
no-unused-vars   申明但没有调用
indent  ["error", 2]  代表每次换行代码 都得加两个空格
no-var  不能用var
no-multiple-empty-lines: [2, { max: 2 }]  语句之间空行不能超过2
import/first   import语句需要置顶搁置
for-direction  for不能无限循环
no-trailing-spaces  禁止行尾空格
no-empty    禁止使用空语句模块   ifswitchfortry,catch的{内没有内容}
getter-return   {get name(){}};  get下需要加return语句
no-async-promise-executor  await new Promise(async function(){})
                            这里的awaitasync都不能使用 
no-undef    禁止未定义餐数
no-await-in-loop  禁止循环中出现await
space-before-function-paren: ["error", {   函数圆括号之前有空格
        "anonymous": "always/never/ignore",    function () {}
        "named": "always/never/ignore",           function foo () {}
        "asyncArrow": "always/never/ignore"      async () => {}
}],
no-compare-neg-zero     警告 x === -0,不能喝-0做比较
no-console    	禁用 console
no-control-regex    /\x1f/   禁止在正则表达式中使用控制字符
在 ASCII 中,0-31 范围内的控制字符是特殊的、不可见的字符。这些字符很少被用在 JavaScript 	字符串中    
no-debugger   禁用 debugger
no-dupe-args   function foo(a, a) {  }  禁止 function 定义中出现重名参数	
no-dupe-keys   禁止对象出现重复的 key   {a:1,a:2}	
no-duplicate-case   禁止出现重复的 case 标签	
no-empty-character-class   /^abc[]/   禁止在正则表达式中使用空字符集 	
no-ex-assign     禁止对 catch 子句的参数重新赋值   catch (e) { e = 10;}	
no-extra-boolean-cast   	禁止不必要的布尔转换
no-extra-parens       禁止不必要的括号	
no-extra-semi     	禁止不必要的分号 var x = 5;;	
no-func-assign         禁止对 function 声明重新赋值  function foo() {}   foo = bar;
no-inner-declarations: [2, "both/functions"],	禁止在嵌套的块中 ,出现变量声明或 function 声明
"functions" (默认) 禁止 function 声明出现在嵌套的语句块中
"both" 禁止 functionvar 声明出现在嵌套的语句块中
if (test) {
 	 function doSomethingElse() {}}
var b = function() {
  var fn;
  if (test) {
      fn = function() {};var a=1;function declaration() {};   错
  }
};
no-invalid-regexp	禁止 RegExp 构造函数中存在无效的正则表达式字符串
no-irregular-whitespace	禁止不规则的空白
no-misleading-character-class	不允许在字符类语法中出现由多个代码点组成的字符
no-obj-calls	     禁止把全局对象作为函数调用
var math = Math();
var json = JSON();
var reflect = Reflect();
no-prototype-builtins	禁止直接调用 Object.prototypes 的内置属性
var hasBarProperty = foo.hasOwnProperty("bar");var hasBarProperty = Object.prototype.hasOwnProperty.call(foo, "bar");对
no-regex-spaces	禁止正则表达式字面量中出现多个空格
 /foo  bar/;/foo {3}bar/;对
no-sparse-arrays	禁用稀疏数组
逗号之前没有任何元素的数组。该规则不适用于紧随最后一个元素的拖尾逗号的情况。
var items = [,];
var colors = [ "red",, "blue" ];
no-template-curly-in-string	禁止在常规字符串中出现模板字面量占位符语法
"Hello ${name}!";`Hello ${name}!`;对
no-unexpected-multiline	禁止出现令人困惑的多行表达式
var foo = bar
(1 || 2).baz();var foo = bar;
(1 || 2).baz();对
no-unreachable	    禁止在 returnthrowcontinuebreak 语句之后出现不可达代码
return true;
console.log("done");
throw new Error("Oops!");
console.log("done");
break;
console.log("done");
no-unsafe-finally	 禁止在 finally 语句块中出现控制流语句 returnthrowbreakcontinue
try {return 1;} 
catch(err) {return 2;} 
finally {return 3;}

no-unsafe-negation	禁止对关系运算符的左操作数使用否定操作符
 if (!key in object) {}if (!(key in object)) {}if (!obj instanceof Ctor) {}if (!(obj instanceof Ctor)) {}对
require-atomic-updates  禁止由于 awaityield的使用而可能导致出现竞态条件的赋值
let result;
async function foo() {错
  result += await somethingElse;
  result = result + await somethingElse;
  result = result + doSomething(await somethingElse);
}

let result;
async function foo() {对
  result = await somethingElse + result;
  let tmp = await somethingElse;
  result += tmp;
  let localVariable = 0;
  localVariable += await somethingElse;
}
use-isnan 	要求使用 isNaN() 检查 NaN
if (foo == NaN) {// ...
}
if (isNaN(foo)) {// ...
}
valid-typeof	强制 typeof 表达式与有效的字符串进行比较
typeof foo === "strnig"typeof foo == "undefimed"typeof bar != "nunber"typeof bar !== "fucntion"typeof foo === "string"typeof bar == "undefined"typeof foo === baz               对
typeof bar === typeof qux   对


accessor-pairs   		强制 getter 和 setter 在对象中成对出现

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

block-scoped-var		强制把变量的使用限制在其定义的作用域范围内

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

complexity: 0			指定程序中允许的最大环路复杂度

consistent-return		要求 return 语句要么总是指定返回的值,要么都不指定
function doSomething(condition) {
    if (condition) {
        return true;
    } else {
        return;}
}


curly			强制所有控制语句使用一致的括号风格
if (foo) foo++;
while (bar)
    baz();
if (foo) {
    baz();
} else qux();

default-case	要求 switch 语句中有 default 分支

dot-location	强制在点号之前和之后一致的换行	
值是 "object" (默认),点和对象在同一行。
值是 "property",点和属性在同一行。
var foo = object
.property;
dot-notation	强制尽可能地使用点号
var x = foo["bar"];   当可以用foo.bar取值时 会报错 错
var x = foo[bar]; // bar 是可变的  这个对

eqeqeq:['error','always',{'null':'always/never/ignore'}]  
eqeqeq:['error','smart']  除了 比较两个字面量的值 、比较 typeof 的值 、null 进行比较 外,强制全等
       要求使用 ===!==
[] == false
[] == ![]
3 == "03"  看上去是无害的,但实际的问题是很难被发现的。
guard-for-in	要求 for-in 循环中有一个 if 语句
for (key in foo) {
    if (Object.prototype.hasOwnProperty.call(foo, key)) {
        doSomething(key);
    }
}

max-classes-per-file:["error", 1]	每个文件中的类的最大数量为1个

no-alert		禁用 alert、confirm 和 prompt

no-caller		禁用 arguments.caller 或 arguments.callee

no-case-declarations	不允许在 case 子句中使用词法声明
该规则禁止词法声明 (letconstfunctionclass) 出现在 casedefault 子句中
switch (foo) {
    case 1:
        let x = 1;
        break;
    case 2:
        const y = 2;
        break;
    case 3:
        function f() {}
        break;
    default:
        class C {}
}switch (foo) {
    // The following case clauses are wrapped into blocks using brackets
    case 1: {
        let x = 1;
        break;
    }
    case 2: {
        const y = 2;
        break;
    }
    case 3: {
        function f() {}
        break;
    }
    case 4:
         var z = 4;
        break;
    default: {
        class C {}
    }
}对

no-div-regex			禁止除法操作符显式的出现在正则表达式开始的位置

no-else-return		禁止 if 语句中 return 语句之后有 else 块

no-empty-function	禁止出现空函数

no-empty-pattern		禁止使用空解构模式
var {} = foo;var [] = foo;var {a: {}} = foo;var {a: []} = foo;function foo({}) {}function foo([]) {}function foo({a: {}}) {}function foo({a: []}) {}var {a = {}} = foo;var {a = []} = foo;function foo({a = {}}) {}function foo({a = []}) {}对

no-eq-null		禁止在没有类型检查操作符的情况下与 null 进行比较

no-eval			禁用 eval()

no-extend-native	禁止扩展原生类型

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

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

no-fallthrough		禁止 case 语句落空

switch(foo) {case 1:
        doSomething();
    case 2:
        doSomething();
}
switch(foo) {//对
    case 1:
        doSomething();
        // falls through
    case 2:
        doSomething();
}

no-floating-decimal		禁止数字字面量中使用前导和末尾小数点

no-global-assign		禁止对原生对象或只读的全局对象进行赋值

no-implicit-coercion		禁止使用短符号进行类型转换

no-implicit-globals		禁止在全局范围内使用变量声明和 function 声明

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禁止使用 new 以避免产生副作用

no-new-func禁止对 Function 对象使用 new 操作符

no-new-wrappers禁止对 String,Number 和 Boolean 使用 new 操作符

no-octal禁用八进制字面量

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

no-param-reassign禁止对 function 的参数进行重新赋值

no-proto禁用 __proto__ 属性

no-redeclare禁止多次声明同一变量

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

no-return-assign禁止在 return 语句中使用赋值语句

no-return-await禁用不必要的 return await

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

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禁止多余的 return 语句

no-void禁用 void 操作符

no-warning-comments禁止在注释中使用特定的警告术语

no-with禁用 with 语句

prefer-named-capture-group建议在正则表达式中使用命名捕获组

prefer-promise-reject-errors要求使用 Error 对象作为 Promise 拒绝的原因

radix强制在 parseInt() 使用基数参数

require-await禁止使用不带 await 表达式的 async 函数

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

vars-on-top要求所有的 var 声明出现在它们所在的作用域顶部

wrap-iife要求 IIFE 使用括号括起来

yoda要求或禁止 “Yoda” 条件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

eslint规则总结 的相关文章

随机推荐

  • hadoop2.7.2 window win7 基础环境搭建

    hadoop环境搭建相对麻烦 xff0c 需要安装虚拟机过着cygwin什么的 xff0c 所以通过查资料和摸索 xff0c 在window上搭建了一个 xff0c 不需要虚拟机和cygwin依赖 xff0c 相对简便很多 下面运行步骤除了
  • Spring4.3.3 WebSocket-STOMP协议集成 (2.1)-WebSocket-stomp子协议通讯小栗子

    上一篇中说到 xff1a stomp jsp之间的通讯 xff0c 是通过stomp xff0c socket js stomp js实现的通讯 如果觉得写jsp或者js麻烦 xff0c 或者不怎么会js 不是太懂 xff0c 可以用web
  • Spring-Boot (二) application.properties配置文件内容

    Spring Boot官方开发指导文档 默认创建spring boot项目后 xff0c 会在resources目录下生成一个空的application properties配置文件 xff0c springboot启动时加载该配置文件 a
  • Nginx 基本配置例子

    个人的小笔记 xff0c 不好不好 user root worker processes 8 error log var log nginx error log error pid var run nginx pid load module
  • CKPlayer播放M3U8文件 (加载失败)问题

    官网下载 ckplayer csdn下载 csdn 下载本地以后 解压ckplayer zip 里面有示例文件 index html flashplayer html等 index html中基本包含所有功能 flashplayer htm
  • 超市购物小票案例

    超市购物小票案例 1 1超市购物小票需求分析 模拟真实购物逻辑 xff0c 以上述图片为需求原型 xff0c 根据不同购买物品 xff0c 完成购物小票内容打印到控制台 简化项目逻辑 xff0c 票脚部分只完成数据统计 数据 xff1a 将
  • 【4】三剑客:sed

    文章目录 一 基础1 1 语法格式1 2 工作原理 二 功能2 1 增2 2 删2 3 改2 4 查2 5 通用2 6 高级用法 一 基础 1 1 语法格式 span class token function sed span span c
  • libgtk2.0-dev安装

    安装libgtk 2 0 dev报错 xff1a sudo apt get install libgtk2 0 dev 正在读取软件包列表 完成 正在分析软件包的依赖关系树 正在读取状态信息 完成 有一些软件包无法被安装 如果您用的是 un
  • 第3章 vmware虚拟机的三种网络设置

    在vmware虚拟机的设置中 xff0c 共有四种网络模式可以选择 xff1a 桥接模式 NAT模式 仅主机模式和自定义模式 本文重点讲解前三种网络模式的设置 下图是我的宿主机的IP信息 xff0c 在某些场景下需要将虚拟机中的centos
  • 无法安装64位版本的office,因为在您的PC上找到以下32位程序

    无法安装64位版本的office 因为在您的PC上找到以下32位程序 请卸载所有32位office程序 xff0c 然后重试安装64位office 如果想要安装32位office xff0c 请运行32位安装程序 那为什么会出现这种情况呢
  • idea调试rt.jar下sun.misc.*的源码

    1 进入设置页面 xff1a Settings gt Debugger gt Stepping 2 在 34 Do not step into these classes 34 列表中 xff0c 去掉 34 sun 34 前面的勾就可以了
  • iOS UILabel的lineBreakMode省略模式设置

    iOS UILabel的lineBreakMode省略模式设置
  • 将网页分享到微信JS

    1 导入微信的js lt script type 61 34 text javascript 34 src 61 34 http res wx qq com open js jweixin 1 0 0 js 34 gt lt script
  • 利用XML文件的一个写日志的类!!!!!

    对于程序执行期间的错误跟踪 xff01 相信大家都有自己的一套办法 xff01 xff01 xff01 但都是利用文件文件 xff0c 我这次利用的是XML amp XSL xff0c 可产生报表格式的日志 轻松生成报表 xff01 xff
  • 解决golang获取时间默认使用UTC

    在Go语言上 xff0c go语言的time Now 返回的是当地时区时间 xff0c 直接用 xff1a time Now Format 2006 01 02 15 04 05 输出的是当地时区时间 但是部署之后 xff0c 有的服务器会
  • Android 系统 Settings 启动流程详解

    Settings简介 Settings 是 Android 系统自带的一个很重要的应用 xff0c 给用户提供了操作 Android 系统功能的界面 它里面包含了 Wireless amp network xff0c device xff0
  • Lucene学习总结之一:全文检索的基本原理

    一 总论 根据http lucene apache org java docs index html 定义 xff1a Lucene 是一个高效的 xff0c 基于Java 的全文检索库 所以在了解Lucene之前要费一番工夫了解一下全文检
  • Java发送http请求,参数形式为json

    Java发送http请求 xff0c 参数形式为json 不介绍知识 xff0c 哪不懂自己搜 只记录平时用到的 xff0c 可以给其他人做参考 需要传递的参数为json形式 xff0c 比如手机号 phone xff1a 123456 s
  • maven idea设置查找依赖优先从指定的本地仓库获取

    maven idea设置查找依赖优先从指定的本地仓库获取 选择Setting gt Build Execution Deployment gt Build Tools gt Maven gt Runner xff0c 设置Maven启动虚拟
  • eslint规则总结

    span class token string 34 off 34 span or span class token number 0 span span class token operator span 关闭规则 span class