使用流量时,可以选择experimental.const_params=true
treats function parameters as const bindings。我可以通过将它分配给临时变量来轻松地使错误消失,但是这实际上是否解决了重新分配/改变函数参数的错误形式?
例如:
function someFunc(p1) {
let temp = p1;
temp.x = 10
return temp
}
相反:
function someFunc(p1) {
p1.x = 10
return p1
}
对于流量,这足以防止流量引发错误。
它是否真正解决了该规则试图解决的问题?如果不是应该使用什么?
答案 0 :(得分:0)
这与传递的内容有关。在您的示例中,p1是一个对象,因此该参数是一个对象引用。对象的成员不受' const'类型。如果要防止对象发生变异,您可能需要查看Object.freeze()。