Skip to content
← Back to rules

eslint/radix 厳格

⚠️🛠️ A dangerous auto-fix is available for this rule for some violations.

何をするか

parseInt() を使用する際、数値の解析に使用する基数(基数)を指定する radix 引数を一貫して使用することを強制します。

なぜ問題か

radix を明示せずに parseInt() 関数を使用すると、予期しない結果が生じる可能性があります。

詳細については、MDN ドキュメント を参照してください。このドキュメントでは、parseInt() が特定の境界ケースをどのように処理するかについて解説されています。

設定

このルールにオプションを渡しても、動作に影響はありません。v1.49.0 で、このルールの設定オプションは削除され、無効化されました。これは ESLint v10 で行われた挙動の変更と一致しており、現在このルールは parseInt() に基数パラメータを提供することを常に強制しています。

この変更により新たな違反が検出された場合、以下のいずれかの対応を取ることができます:

  • このルールを無効にする。
  • コードベース内の parseInt() のすべての使用箇所に基数パラメータを追加する。

このルールに違反するコードの例:

javascript
let num = parseInt("071"); // 57

このルールに準拠するコードの例:

javascript
let num = parseInt("071", 10); // 71

使用方法

構成ファイルまたは CLI でこのルールを有効化するには、以下のいずれかの方法を使用できます:

json
{
  "rules": {
    "radix": "error"
  }
}
bash
oxlint --deny radix

参照