有时候eslint会在我们使用了new的地方,报一个Do not use 'new' for side effects (no-new)的错误,如下图所示:
在这里插入图片描述
通过查找eslint的官方文档,官方对no-new规则的解释是:disallow new operators outside of assignments or comparisons,翻译过来就是:不允许在赋值或比较之外使用new操作,知道原因就好说了,有三种解决方式:

1,直接禁用no-new规则

直接修改eslint的配置文件,在rules中关闭所有的no-new规则检查,这种方法是最不靠谱的,不推荐

2,定义一个变量接收new出来的对象

既然官方说要在赋值或者比较中使用new,那我们定义一个变量接收new出来的对象就行了(推荐这种方式):

let pro = new Promise()
3,使用/* eslint-disable no-new */

可以通过在使用new的句子上加上/* eslint-disable no-new */注释来绕开语法检查对注释下的语句的检查:

/* eslint-disable no-new */
new Promise()

注意:该注释只对注释下的一行代码有效,如果项目中其它地方违反了no-new规则,仍然会报错

Logo

前往低代码交流专区

更多推荐