JavaScript番号で楽しい
キーポイント
- JavaScriptのすべての数値は、整数、実数、16進数、科学表記数などの数値データ型を使用して表されます。ただし、JavaScriptは内部的にすべての数値をIEEE 754フローティングポイント番号として表します。つまり、JavaScript Mathは100%正確ではありません。
- JavaScriptは、非桁を数字として表すように、NOT-ANUMBER(NAN)と呼ばれる数値を定義します。 NANは、JavaScriptの唯一の数値であり、それ自体に等しくなく、ISNAN()関数を使用してテストできます。
- JavaScriptには、署名されたゼロなどのいくつかの機能があり、その結果、陽性のゼロ(0)と負のゼロ(-0)が異なりますが、これは異なる値と見なされますが、JavaScriptの比較演算子はそれらを区別できません。 JavaScriptでは、ゼロで除算すると無限を生成し、負のゼロで除算すると、生成されます。
データ型はすべてのプログラミング言語の重要な部分であり、数字はおそらく最も重要なデータ型です。結局のところ、コンピューターは本当に高価な計算機です。貴重なプログラミング言語と同様に、JavaScriptは数値データをサポートしています。しかし、JavaScriptの他の多くの側面と同様に、注意しないとトラブルを引き起こす可能性のある数字にいくつかのニュアンスがあります。この記事では、数値データとその特性の一部について説明します。 注:この記事を読む前に、JavaScriptデータ型を基本的に理解する必要があります。
番号タイプ
JavaScriptでは、すべての数値は数値データ型で表されます。これには、整数、実数、16進数、科学的表記に表される数字が含まれます。次の例は、Typeof演算子をさまざまな数値に適用することにより、これを検証します。この例では、typeofの各アプリケーションが数値を返します。
typeof(100); typeof(3.14); typeof(0xDEADBEEF); typeof(7.89e2);
前の例では、数字はさまざまな形式です。ただし、内部的には、すべてのJavaScript番号は、実際にはIEEE 754フローティングポイント番号として表されます。これは、JavaScriptには整数の概念がないことを意味するため、これは重要ですが、言語にはparseint()関数があります。これはまた、JavaScript Math操作が100%正確ではないことを意味します。たとえば、次の式を検討してください。
(0.1 + 0.2) === 0.3
浮動小数点数に慣れていない場合は、この式が真であることを間違いなく期待するでしょう。結局のところ、0.1 0.2は0.3に相当します。ただし、浮動小数点数がどのように機能するかにより、その合計は実際には0.300000000000000000004です。違いは小さいですが、これは式全体をfalseに評価するのに十分です。
正のゼロと負のゼロ< IEEE 754標準のもう1つの機能は、符号付きゼロです。これにより、2つのゼロ - 正のゼロ、0、および負のゼロ、-0になります。これは奇妙に思えるかもしれませんが、楽しみが始まったばかりです。明らかに、これら2つは異なる値です。そうしないと、ゼロは1つだけです。ただし、これら2つのゼロのいずれかを表示すると、シンボルが削除されます。たとえば、次のコードは、これら2つのゼロ値を並べて表示しようとします。
typeof(100); typeof(3.14); typeof(0xDEADBEEF); typeof(7.89e2);
(0.1 + 0.2) === 0.3
alert((+0) + " " + (-0)); // 显示 0 0
not-a-number(nan)
javascriptは、実際にはnot-a-number(nan)と呼ばれる数字を定義します。 NANは、非桁を数字として表すために使用される誤った値です。この値は、その名前自体が数字である可能性を排除しているが、Typeof(nan)が数であるため、興味深いものです。 NANも興味深いです。なぜなら、それはJavaScriptの唯一の価値であるため、それ自体が等しくないからです。たとえば、次のコードはfalseを返します。
alert((+0 === -0)); // 显示 true alert((-0 === +0)); // 显示 true
function isNegativeZero(x) { return (x === 0 && (1/x) === -Infinity); }
alert((NaN === NaN)); // 显示 false
isNaN(1); // 返回 false isNaN(NaN); // 返回 true
その他の楽しい瞬間
数字に問題を引き起こす可能性のある他の状況がいくつかあります。まず、インフィニティ、ナン、未定義などのグローバルなプロパティを新しい値として再定義できる古いブラウザに注意する必要があります。たとえば、NANを頻繁に使用する場合、次のコードは多くの問題を引き起こす可能性があります。幸いなことに、最新のブラウザは前述のプロパティへの割り当てを無視します。厳密なモードはさらに一歩進んで、これらのサイレント障害をエラーに変換します。
isNaN(true); isNaN(false); isNaN(""); isNaN(null); // 全部返回 false
function isNotANumber(x) { return x !== x; }
結論
この記事では、JavaScriptの数字の特性の一部について説明します。うまくいけば、これらの問題がどのように発生し、どのようにそれらを回避するかを理解することを願っています。そして、ネガティブなゼロのような状況に遭遇することはあまりないかもしれませんが、少なくとも今は準備ができています。
javascript番号(FAQ)に関するよくある質問
JavaScriptで数値をゼロで除算するとどうなりますか?
JavaScriptでは、数値をゼロで除算すると、結果は無限になります。これは、ゼロで割られる任意の数が数学的に定義されていないためですが、JavaScriptは実用的な目的のためにそれを無限として表しています。ただし、ゼロをゼロで除算すると、この操作が数学で不確実であるため、結果はNAN(数ではありません)です。ゼロで分割されたbigintを扱う方法は?
bigintは、JavaScriptが2^53-1を超える整数を表す方法を提供するJavaScriptの組み込みオブジェクトです。 Bigintをゼロで分割しようとすると、JavaScriptは操作が無効であることを示す範囲を投げます。
javascriptのゼロエラーによって分割を防止または処理する方法は?
javaScriptで条件付きステートメントを使用して、分割操作を実行する前に分母がゼロかどうかを確認することにより、ゼロエラーによって分割を防止または処理できます。分母がゼロの場合、それを処理する方法を決定することができます。たとえば、特定の値を返したり、エラーメッセージを表示したりできます。
なぜ0がjavascript nanで0で分割されるのですか?
数学では、式0/0は明示的で明確な値を持っていないため定義されていません。 JavaScriptでは、未定義の数学操作によりNAN(数ではない)が生じます。したがって、JavaScriptでゼロをゼロで除算すると、結果はNANになります。
JavaScriptのNANとInfinityの違いは何ですか?
JavaScriptでは、nan(数字ではない)、無限は特別な値です。 NANは、通常、未定義または不確実な数学的操作が原因で、法的番号ではない値を表します。一方、Infinityは、通常、数をゼロで割るため、可能な数よりも大きい数を表します。
JavaScriptの結果がNANであるかどうかを確認する方法は?
JavaScriptのISNAN()関数を使用して、結果がNANであるかどうかを確認できます。パラメーターがNANの場合、この関数はtrueを返し、それ以外の場合は偽りです。
JavaScriptの結果が無限であるかどうかを確認する方法は?
JavaScriptのISFINITE()関数を使用して、結果が有限数であるかどうかを確認できます。パラメーターが正または負の無限の場合、この関数はfalseを返し、それ以外の場合は真です。
JavaScriptのプリミティブ数の意味は何ですか?
JavaScriptのプリミティブ数は、数値を表すために使用されます。整数値と浮動小数点数を表すことができます。ただし、最大2^53-1までの数値を確実に表すことしかできません。
JavaScriptで多数を扱う方法は?
JavaScriptのセキュアな整数制限を超える多数を処理するには、BigIntオブジェクトを使用できます。 Bigintを使用すると、2^53-1を超える整数を表すことができます。
javascriptのrasioneRRORとは何ですか?
javaScriptは、値が予想される範囲内にない場合にrangERRORをスローします。たとえば、Bigintをゼロで除算しようとすると、結果は範囲にあります。
以上がJavaScript番号で楽しいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











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

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

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

この記事の視差スクロールと要素のアニメーション効果の実現に関する議論では、Shiseidoの公式ウェブサイト(https://www.shisido.co.co.jp/sb/wonderland/)と同様の達成方法について説明します。

JavaScriptを学ぶことは難しくありませんが、挑戦的です。 1)変数、データ型、関数などの基本概念を理解します。2)非同期プログラミングをマスターし、イベントループを通じて実装します。 3)DOM操作を使用し、非同期リクエストを処理することを約束します。 4)一般的な間違いを避け、デバッグテクニックを使用します。 5)パフォーマンスを最適化し、ベストプラクティスに従ってください。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

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

フロントエンドのVSCodeと同様に、パネルドラッグアンドドロップ調整機能の実装を調べます。フロントエンド開発では、VSCODEと同様のVSCODEを実装する方法...
