ECMAScript 6の準備:新しい番号方法
ES6の新機能に関するシリーズの一部であり、文字列および配列データ型で利用可能な新しい方法についても説明しましたが、MapやWeakMapなどの新しいタイプのデータも説明しました。
数値データ型に追加された新しいメソッドと定数を紹介します。ご覧のとおり、カバーされている数のメソッドの一部はまったく新しいものではありませんが、適切なオブジェクトの下で改善および/または移動されています(たとえば、isnan())。いつものように、いくつかの例を挙げて、獲得した新しい知識を行動に導います。それで、それ以上のadoなしで、始めましょう。キーテイクアウト
es6は、number.isinteger()、number.isnan()、number.isfinite()、number.issafeinteger()、number.parseint()、およびnumber.parsefloat()を含むいくつかの新しい番号方法を導入しました。 >
number.isinteger()渡された値が整数であるかどうかをチェックします。- number.issafeinteger()渡された値が安全な整数である数字であるかどうかをテストし、IEEE-754二重精度番号として正確に表すことができる整数として定義されています。
- number.parseint()およびnumber.parsefloat()は新しいものではありませんが、グローバルのモジュール化を目的として番号オブジェクトの下に移動されています。彼らは文字列引数を解析し、それぞれ整数と浮動小数点数を返します。 ES6は、javascriptの最大および最小セーフ整数を表すnumber.max_safe_integerとnumber.min_safe_integerの2つの関連する定数値も導入しました。
- number.isinteger()
- 最初にカバーしたい方法は、number.isinteger()です。これはJavaScriptに新たに追加されたものであり、これはあなたが過去に自分で定義し、使用したものです。関数に渡された値が整数であるかどうかを決定します。このメソッドは、渡された値が整数であり、それ以外の場合はfalseの場合、trueを返します。この方法の実装は非常に簡単でしたが、それでもネイティブにするのは良いことです。この機能を再現する可能性のある解決策の1つは、次のとおりです。
- 楽しみのために、私はこの機能を再現しようとしました、そして、私は別のアプローチになりました:
数字引数は、テストする値を表します。 この方法の使用のいくつかの例を以下に示します。
前のコードのライブデモを以下に示し、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>
number.isnan()
過去に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()
この方法は、前の方法と同じストーリーを共有しています。 JavaScriptには、渡された値が有限数であるかどうかをテストするwindow.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()
number.issafeinteger()メソッドは、ES6にまったく新しい追加です。渡された値が安全な整数である数字であるかどうかをテストします。その場合、それは真実に戻ります。安全な整数は、次の2つの条件の両方を満たす整数として定義されます。
- 数値は、IEEE-754ダブル精度番号として正確に表すことができます
- 数のIEEE-754表現は、IEEE-754表現に合わせて他の整数を丸めた結果ではありません。
- この定義に基づいて、安全な整数はすべてからの整数です - (2 53
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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
