ESLint isNaNの予期しない使用 質問する

ESLint isNaNの予期しない使用 質問する

isNaNNode.js モジュールの矢印関数内でグローバル関数を使用しようとしていますが、次のエラーが発生します。

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

これが私のコードです:

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

module.exports = {
  isNumber,
};

何が間違っているのか分かりますか?

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

ベストアンサー1

として文書では、 使用Number.isNaN

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

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

なぜでしょうか? グローバル isNaN は数値以外のものを数値に強制変換し、NaN に強制変換されたものに対しては true を返します。この動作が必要な場合は、明示的に指定します。

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

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

おすすめ記事