问题描述
当我们使用 ESLint 进行 JavaScript 代码检查时,有时会遇到类似于以下报错信息:
no 'new' without '()' (no-new)
这个报错信息通常出现在我们使用 new
关键字创建对象时忘记了用括号包裹参数。在一些情况下,我们可能确实需要不带参数地使用 new
,但这样会让 ESLint 报错。
解决方法
我们可以在 .eslintrc
配置文件中修改 no-new
规则的设置,将 newIsCapExceptions
参 数里的定义从默认值 'Promise'
修改为 null
,表示不对其他的 new
使用进行检查,例如:
{ "rules": { "no-new": ["error", { "newIsCapExceptions": null }] } }
这样就可以让 ESLint 不再对所有使用 new
的操作进行检查了。但是这样会导致我们的代码规范可能会变得松散,不够严格,所以建议大家在确定使用 new
不带参数创建对象的场景后再使用此方法。
示例代码
// javascriptcn.com 代码示例 // 以下是不带参数使用 new 创建对象的示例 const obj = new Object //出现 ESLint 报错 "no 'new' without '()'" // 以下是带参数使用 new 创建对象的示例 const arr = new Array(1, 2, 3) const date = new Date('2022-11-11') // 修改 ESLint 配置文件的 no-new 规则 // { // "rules": { // "no-new": ["error", { // "newIsCapExceptions": null // }] // } // }
总结
以上就是解决 ESLint 报错 "no 'new' without '()' 的问题的方法和示例代码。我们需要认真审视每一条 ESLint 的报错信息,并根据实际情况合理地进行修改。在保证代码质量的前提下,规范的代码会更容易被他人接受和理解,也有利于代码的可维护性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65499f667d4982a6eb3d6541