eslint/prefer-numeric-literals スタイル
何をしているか
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