假设我的项目中有以下 JavaScript 代码:
function foo(){
console.log(arguments);
}
当我在其中运行 Sonar JavaScript 插件时,它会记录以下错误:
"eval" and "arguments" must not be bound or assigned
知道为什么吗?我知道只有在将arguments
分配给变量或将其用作参数名称时才会发生此错误,但这里的情况都不是。
最佳答案
Sonar 中规则的描述解释得很清楚:“参数”是一个隐式变量,可以访问函数的参数,这是一个索引属性。因此,您不太可能想要像所显示的那样传递此变量(看起来只是调试代码),并且大多数时候这样做应该引起注意(只有技术 JS 堆栈/框架才需要这样做) .
关于javascript - 围绕 JavaScript 参数对象使用的 Sonar 违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17890818/