unicorn/throw-new-error スタイル
何をしますか
このルールは、エラーをスローする際には常に 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");使い方
このルールを設定ファイルまたは CLI で 有効化 するには、以下のいずれかを使用できます:
json
{
"rules": {
"unicorn/throw-new-error": "error"
}
}bash
oxlint --deny unicorn/throw-new-error