有时候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
规则,仍然会报错