検索

ホームページ  >  に質問  >  本文

JavaScript ES6 の Number.isFinite() および Number.isNaN()

最近 ES6 を学習しているのですが、数値拡張についていくつか質問があります。

ES6 は、Number オブジェクトに対して Number.isFinite()Number.isNaN()

という 2 つのメソッドを提供します。

ES5との違いは、Number()の呼び出しを一度キャンセルして数値以外の値を数値に変換してから判定する点です。

注: この 2 つのメソッドと従来の isFinite() メソッドおよび isNaN() メソッドの違いは、従来のメソッドでは最初に Number() を呼び出して数値以外の値を数値に変換してから、判定を行うことです。 。これら 2 つのメソッドは数値に対してのみ有効で、数値以外の場合は false を返します。

なぜこのようなことをしているのかよく分かりませんが、一度 Number() を呼び出して数値以外の値を数値に変換してから判断した方が良いのではないでしょうか?

巴扎黑巴扎黑2752日前562

全員に返信(2)返信します

  • phpcn_u1582

    phpcn_u15822017-05-18 10:54:30

    MDNの説明を確認できます

    isFinite については、Number.isFinite(true) と isFinite(true) を比較するとわかります。もちろん、Number.isFinite("") と isFinite("") も機能します。

    返事
    0
  • 黄舟

    黄舟2017-05-18 10:54:30

    これらの2つの関数は数値に対して値が限定されているかNaNであるかを判定するために使用されます。文字列などの内部の隠れた演算を数値に変換すると、直接表現したい意味が失われてしまいます。その他いくつかの問題では、数値だけでなく文字列などの型も判定できるようになります。
    参考リンク:

    es6
    isNaN

    返事
    0
  • キャンセル返事