Skip to content
← Back to rules

unicorn/throw-new-error 风格

An auto-fix is available for this rule.

它的作用

此规则确保你在抛出错误时始终使用 new

为什么这是不好的?

在 JavaScript 中,省略 new(例如 throw Error('message'))是允许的,但不会正确初始化错误对象。这可能导致缺少堆栈跟踪或错误的原型链。使用 new 可以明确表达意图,确保行为一致,并有助于避免潜在的细微错误。

示例

此规则的 错误 代码示例:

javascript
throw Error("🦄");
throw TypeError("unicorn");
throw lib.TypeError("unicorn");

此规则的 正确 代码示例:

javascript
throw new Error("🦄");
throw new TypeError("unicorn");
throw new lib.TypeError("unicorn");

如何使用

要通过配置文件或命令行启用此规则,可以使用:

json
{
  "rules": {
    "unicorn/throw-new-error": "error"
  }
}
bash
oxlint --deny unicorn/throw-new-error

参考资料