unicorn/prefer-number-properties 制約
何をするか
グローバル変数として parseInt()、parseFloat()、isNan()、isFinite()、Nan、Infinity、-Infinity の使用を禁止します。
なぜ問題なのか
ECMAScript 2015 では、一貫性を保ち、わずかに改善するために、グローバル関数を Number コンストラクタに移動しました。このルールは、グローバル変数の使用を抑えるために、以下の使用を強制します:
Number.parseInt()とparseInt()に対してNumber.parseFloat()とparseFloat()に対してNumber.isNaN()とisNaN()に対して (挙動にわずかな違いがあります)Number.isFinite()とisFinite()に対して (挙動にわずかな違いがあります)Number.NaNとNaNに対してNumber.POSITIVE_INFINITYとInfinityに対してNumber.NEGATIVE_INFINITYと-Infinityに対して
例
このルールに対する誤りなコードの例:
javascript
const foo = parseInt("10", 2);
const bar = parseFloat("10.5");このルールに対する正しいコードの例:
javascript
const foo = Number.parseInt("10", 2);
const bar = Number.parseFloat("10.5");設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます:
checkInfinity
type: boolean
default: false
true に設定された場合、グローバル変数として Infinity および -Infinity が使用されているかチェックします。
checkNaN
type: boolean
default: true
true に設定された場合、グローバル変数として NaN が使用されているかチェックします。
使用方法
このルールを有効にするには、設定ファイルまたは CLI で次のように使用できます:
json
{
"rules": {
"unicorn/prefer-number-properties": "error"
}
}bash
oxlint --deny unicorn/prefer-number-properties