Skip to content
← Back to rules

eslint/prefer-numeric-literals スタイル

🛠️ An auto-fix is available for this rule for some violations.

何をしているか

parseInt() および Number.parseInt() を禁止し、2進数、8進数、16進数のリテラルを使用するように促す。

なぜ問題なのか

parseInt() および Number.parseInt() 関数は、2進数、8進数、16進数の文字列を整数に変換するために使用できます。ES2015 では 2進数、8進数、16進数のリテラルがサポートされているため、このルールは parseInt()Number.parseInt() の代わりにこれらの数値リテラルを使用することを推奨しています。

このルールに違反する不正なコード例

javascript
parseInt("111110111", 2) === 503;
parseInt(`111110111`, 2) === 503;
parseInt("767", 8) === 503;
parseInt("1F7", 16) === 503;
Number.parseInt("111110111", 2) === 503;
Number.parseInt("767", 8) === 503;
Number.parseInt("1F7", 16) === 503;

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "prefer-numeric-literals": "error"
  }
}
bash
oxlint --deny prefer-numeric-literals

参照