为了账号安全,请及时绑定邮箱和手机立即绑定

检测变量和函数在Javascript中具有相同名称的ESlint规则?

检测变量和函数在Javascript中具有相同名称的ESlint规则?

明月笑刀无情 2021-11-18 20:50:49
我碰巧将一个变量命名为与 Node.js 中的函数相同的名称。这并不顺利,Node 10 不喜欢它。由于这是一个钩子函数(不是从应用程序的 UI 调用),我花了一些时间才发现出了什么问题。是否有一些 ESLint 规则可以发现这些类型的错误?这是在 Firebase 下,并且 ESLint 在部署到生产服务器期间运行。实际的冲突使用的变量名的是同一块,像这样:const a = a(x)。
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

我不认为这样的工具可能存在的JavaScript,如JavaScript并没有真正消除歧义赋给变量对象的类型。


function a() {


}

...基本上相当于:


var a = function () {


};

此外,a此示例中的值可以稍后重新分配。


linter 可能会帮助你,在一些 IDE 中可能会有一些帮助,但他们不会真正了解程序员的意图。


查看完整回答
反对 回复 2021-11-18
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

有一个无重复声明的规则,你可以在设置ESLint,它告诉你在你的代码有问题的行。


/*eslint no-redeclare: "error"*/


function a() {}

const a = a();


=> 4:5  error  'a' is already defined  no-redeclare

此外ESLint会引发与错误的标准配置。


function a() {}

var a = a();


=> 4:5  error  Parsing error: Identifier 'a' has already been declared

当然,使用const,如果您尝试运行脚本,您也会收到该行的语法错误。


查看完整回答
反对 回复 2021-11-18
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信