gpt4 book ai didi

Javascript 检测何时使用 var 关键字重新声明属性

转载 作者:行者123 更新时间:2023-11-28 15:04:47 24 4
gpt4 key购买 nike

Javascript 中是否有任何方法可以知道何时已定义的属性被重新声明为变量,从而导致名称冲突?例如:

self.test = function() {
return "this is a test";
};

var test = "another test";

console.log(test());

此代码会导致 Uncaught TypeError: test is not a function。

我想在错误发生之前以某种方式检测到这一点。

我尝试使用 Object.defineProperty 包含 getter 和 setter,并在属性更改时触发回调,但这仅在分配变量时有效,而不是在使用 var 关键字重新声明时有效。

作为最后一个资源,我认为在 JS 代码中使用正则表达式解析器来检测这些情况是可行的,但这似乎根本不是一个好的解决方案。

有什么建议吗?

最佳答案

一般来说,要捕获此类错误和许多其他错误,您应该使用 linter。我用eslint .

具体重新声明变量的问题参见const keyword如果您的目标是现代浏览器或想要使用转译器。

关于Javascript 检测何时使用 var 关键字重新声明属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39478536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com