跳至内容

eslint/no-ex-assign 正确性

此规则默认打开。

它的作用

禁止在 catch 子句中重新分配异常

为什么这样做很糟糕?

如果 try 语句中的 catch 子句意外地(或故意地)将另一个值分配给异常参数,则从那以后不可能再引用该错误。由于没有 arguments 对象提供对该数据的备用访问权限,因此参数的分配是绝对破坏性的。

示例

javascript
try {
  // code
} catch (e) {
  e = 10;
}

参考

在 MIT 许可下发布。