ES6の新機能に関するシリーズの一部であり、文字列および配列データ型で利用可能な新しい方法についても説明しましたが、MapやWeakMapなどの新しいタイプのデータも説明しました。
数値データ型に追加された新しいメソッドと定数を紹介します。ご覧のとおり、カバーされている数のメソッドの一部はまったく新しいものではありませんが、適切なオブジェクトの下で改善および/または移動されています(たとえば、isnan())。いつものように、いくつかの例を挙げて、獲得した新しい知識を行動に導います。それで、それ以上のadoなしで、始めましょう。キーテイクアウト
前のコードのライブデモを以下に示し、JSBINでも入手できます。
この方法は、Internet Explorerを除き、ノードおよびすべての最新のブラウザーでサポートされています。古いブラウザをサポートする必要がある場合は、Mothyla Developer NetworkでMethod Pageページで利用できるようなポリフィルを使用できます。これは、便利さのために以下に再現されています:
<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && number % 1 === 0; </span><span>}; </span>
過去にJavaScriptコードを書いたことがある場合、この方法は新しいものではないはずです。しばらくの間、JavaScriptには、ウィンドウオブジェクトを介して公開されているISNAN()と呼ばれるメソッドがありました。このメソッドは、値がNANに等しいかどうかをテストします。 window.isnan()の問題は、が
を数値に変換した値に対してtrueを返すという点で問題があることです。この問題の具体的なアイデアを与えるために、次のすべてのステートメントが真実に戻ります:<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && Math.floor(number) === number; </span><span>}; </span>
必要なのは、NAN値が渡された場合にのみtrueを返す方法です。そのため、ECMAScript 6がnumber.isnan()メソッドを導入しました。その構文は、あなたが期待するものとほぼ同じです:
<span>Number.isInteger(number) </span>
ここで、値はテストしたい値です。この方法のいくつかの例を以下に示します:
<span>// prints 'true' </span><span>console.log(Number.isInteger(19)); </span> <span>// prints 'false' </span><span>console.log(Number.isInteger(3.5)); </span> <span>// prints 'false' </span><span>console.log(Number.isInteger([1, 2, 3])); </span>
ご覧のとおり、同じ値をテストして、異なる結果を得ます。
前のスニペットのライブデモを以下に示し、JSBINでも入手できます。
この方法は、Internet Explorerを除き、ノードおよびすべての最新のブラウザーでサポートされています。他のブラウザをサポートしたい場合は、この方法の非常にシンプルなポリフィルは次のとおりです。
<span>if (!Number.isInteger) { </span> <span>Number.isInteger = function isInteger (nVal) { </span> <span>return typeof nVal === 'number' && </span> <span>isFinite(nVal) && </span> nVal <span>> -9007199254740992 && </span> nVal <span>< 9007199254740992 && </span> <span>Math.floor(nVal) === nVal; </span> <span>}; </span><span>} </span>
number.isfinite()
を数値に変換した値に対して真実に戻ります。この問題の例を以下に示します: このため、ECMAScript 6には、数字に属するiSfinite()と呼ばれる方法があります。その構文は次のとおりです
<span>// prints 'true' </span><span>console.log(window.isNaN(0/0)); </span> <span>// prints 'true' </span><span>console.log(window.isNaN('test')); </span> <span>// prints 'true' </span><span>console.log(window.isNaN(undefined)); </span> <span>// prints 'true' </span><span>console.log(window.isNaN({prop: 'value'})); </span>
前のスニペットのライブデモを以下に示し、JSBINでも入手できます。
<span>Number.isNaN(value) </span>
number.issafeinteger()メソッドは、ES6にまったく新しい追加です。渡された値が安全な整数である数字であるかどうかをテストします。その場合、それは真実に戻ります。安全な整数は、次の2つの条件の両方を満たす整数として定義されます。
53 - 1を含む。これらの値は重要であり、このセクションの最後にもう少し説明します。 この方法の構文は、です ここで、値はテストしたい値です。この方法のいくつかの例を以下に示します。
このコードのライブデモを以下に示し、JSBINでも入手できます。number.issafeinteger()は、インターネットエクスプローラーを除き、ノードおよびすべての最新のブラウザーでサポートされています。 Paul MillerによってES6-Shimから抽出されたこの方法のポリフィルは次のとおりです。
<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && number % 1 === 0; </span><span>}; </span>
ecmascript 6は、number.max_safe_integerとnumber.min_safe_integerの2つの関連する定数値も導入しました。前者は、JavaScriptの最大安全な整数、つまり2
53<span>Number.isInteger = Number.isInteger || function (number) { </span> <span>return typeof number === 'number' && Math.floor(number) === number; </span><span>}; </span>
number.parseint()およびnumber.parsefloat()
number.parseint()およびnumber.parsefloat()メソッドは同じセクションでカバーされています。なぜなら、この記事に記載されている他の同様のメソッドとは異なり、それらはすでに以前のバージョンのECMAScriptに存在しているが、それらとは違いはないため古いグローバルバージョン。したがって、これまでに行ったのと同じ方法でそれらを使用することができ、同じ結果を期待できます。これらの方法を数に追加する目的は、グローバルのモジュール化です。
<span>Number.isInteger(number) </span>
ここで、文字列は解析する値を表し、基数は文字列を変換するために使用する基数です。
次のスニペットには、いくつかの例の使用が示されています
このコードのライブデモは以下に表示され、JSBINでも入手できます。
これらのメソッドは、インターネットエクスプローラーを除き、ノードおよびすべての最新のブラウザーでサポートされています。それらをポリフィルしたい場合は、以下にリストするように関連するグローバルな方法を呼び出すことができます。 次のグラフィックは、ES6の組み込み番号オブジェクトへの拡張機能のブラウザサポートを示しています。ボックスの上にマウスをマウスして、それぞれのブラウザバージョンの使用率を確認します。
番号オブジェクトの一部。これは、スタンドアロン関数としてではなく、番号オブジェクトのメソッドとしてそれを呼び出すことができることを意味します。機能は同じです - 指定された基数またはベースの文字列を整数に変換します。 number.max_safe_integerおよびnumber.min_safe_integer定数ES6の定数は、JavaScriptの最大および最小安全な整数値を表します。安全な整数とは、IEEE-754の二重精度数として正確に表現できるものです。これらの定数は、数値が安全な整数範囲内にあるかどうかを確認する必要がある場合に役立ちます。これは、特定の数学操作で重要です。 > 新しいES6番号メソッドは、JavaScriptの数字を操作するためのより堅牢で正確な方法を提供します。それらを使用して、数値が有限であるか、整数、NAN、または安全な整数であるかを確認し、文字列を数値に解析することができます。これらの方法は、数学的操作、データ検証、および数値に対する正確な制御が必要な場所で特に役立ちます。<span>Number.isInteger = Number.isInteger || function (number) {
</span> <span>return typeof number === 'number' && number % 1 === 0;
</span><span>};
</span>
ブラウザサポート
このチュートリアルでは、ecMascript 6に追加された新しい方法と定数を、数値データ型で動作する新しい方法と定数について説明しました。 ES6がこれまで言及していない別の定数を追加したことも注目に値します。これはnumber.epsilonであり、
は、数字として表すことができるものよりも大きい1つと最小値の違いを表します。 🎜>
ES6番号方法に関するよくある質問(FAQ)新しいES6番号のメソッドは何ですか?それらはどのように機能しますか?
number.parseint()メソッドは、Global parseint()関数とはどう違いますか?
新しいES6番号メソッドの実用的なアプリケーションは何ですか?
以上がECMAScript 6の準備:新しい番号方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。