1. ホーム
  2. javascript

[解決済み] ESLint isNaN の予期せぬ使用法

2022-04-25 22:21:47

質問

を使おうとしているのですが isNaN Node.jsモジュールのarrow関数内でグローバル関数を使用していますが、このエラーが発生します。

[eslint] Unexpected use of 'isNaN'. (no-restricted-globals)

これが私のコードです。

const isNumber = value => !isNaN(parseFloat(value));

module.exports = {
  isNumber,
};

何が間違っているのか、何か思い当たることはありますか?

追記:AirBnBのスタイルガイドを使用しています。

解決するには?

として のドキュメントによると を使用します。 Number.isNaN .

const isNumber = value => !Number.isNaN(Number(value));


Airbnbのドキュメントを引用します。

<ブロッククオート

なぜ?グローバルなisNaNは、非数値を数値に変換し、trueを返します。 を使用すると、NaNに変換されます。この動作が必要な場合は を明示します。

// bad
isNaN('1.2'); // false
isNaN('1.2.3'); // true

// good
Number.isNaN('1.2.3'); // false
Number.isNaN(Number('1.2.3')); // true