ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript における BigInt を理解する

JavaScript における BigInt を理解する

WBOY
WBOYオリジナル
2024-09-11 06:34:331155ブラウズ

Understanding BigInt in JavaScript


JavaScript では、伝統的に数値は、倍精度浮動小数点演算の IEEE 754 標準に準拠した Number 型を使用して表現されてきました。この表現は多用途ではありますが、制限があります。安全に表現できる整数は (2^{53} - 1) (または (9,007,199,254,740,991)) までです。より大きな整数を必要とするアプリケーションの場合、JavaScript は BigInt 型によるソリューションを導入します。

BigInt とは何ですか?

BigInt は、Number 型で処理できる整数よりも大きな整数を表す方法を提供する JavaScript の組み込みオブジェクトです。浮動小数点演算に適しており、約 (-1.8 倍 10^{308}) から (1.8 倍 10^{308}) までの値を処理できる Number とは異なり、BigInt は任意精度の整数演算専用に設計されています。 🎜>

BigInt 値の作成

BigInt 値を作成するには、いくつかの方法があります。

  1. BigInt コンストラクターの使用:
   const bigIntValue = BigInt(123456789012345678901234567890);
BigInt は文字列と数値を受け入れますが、数値を使用する場合、それらは Number 型の範囲内にある必要があることに注意してください。

  1. BigInt リテラルの使用: BigInt リテラルには n が接尾辞として付けられます。
   const bigIntLiteral = 123456789012345678901234567890n;
これは、BigInt 値を直接定義するより簡潔な方法です。

BigInt を使用した操作

BigInt は、ほとんどの標準算術演算子をサポートしています。簡単な概要は次のとおりです:

  • 加算(+)
  const a = 10n;
  const b = 20n;
  const sum = a + b; // 30n
  • 減算 (-)
  const difference = b - a; // 10n
  • 乗算 (*)
  const product = a * b; // 200n
  • 割り算 (/)
  const quotient = b / 3n; // 6n (Note: Division results in a `BigInt` which is truncated towards zero)
  • モジュラス (%)
  const remainder = b % 3n; // 2n
  • べき乗 (``)**
  const power = a ** 3n; // 1000n
比較と平等

BigInt は、標準の比較演算子を使用して比較できます。 BigInt 値と Number 値は直接比較できないことに注意してください:


const a = 10n;
const b = 10;
console.log(a == b); // false
console.log(a === BigInt(b)); // true
BigInt と Number の間の変換

BigInt と Number の間の変換は、明示的な変換メソッドを使用して実行できます。

  • BigInt から Number へ:
  const bigIntValue = 123n;
  const numberValue = Number(bigIntValue);
注: BigInt 値が大きすぎる場合、精度が失われる可能性があります。

  • 数値から BigInt へ:
  const numberValue = 123;
  const bigIntValue = BigInt(numberValue);
制限事項と考慮事項

  1. 混合操作: 明示的な変換を行わずに、算術演算で BigInt と Number を混在させることはできません。
   const a = 10n;
   const b = 5;
   // The following line will throw a TypeError
   const result = a + b; 
  1. JSON サポート: BigInt は、JSON シリアル化では直接サポートされていません。 BigInt 値を文字列化しようとすると、TypeError が発生します。
   const bigIntValue = 123n;
   JSON.stringify(bigIntValue); // Throws TypeError
JSON で BigInt を処理するには、まず文字列に変換する必要がある場合があります。


   const bigIntValue = 123n;
   const jsonString = JSON.stringify({ value: bigIntValue.toString() });
  1. パフォーマンス: BigInt は任意の精度を提供しますが、より大きな整数の処理が複雑なため、Number 演算に比べて遅くなる可能性があります。
使用例

BigInt は、次のような大きな整数の精度が重要なシナリオで特に役立ちます。

    暗号
  • 大規模な計算 (金融アプリケーションなど)
  • 科学計算における高精度演算
結論

BigInt は JavaScript への強力な追加機能であり、Number 型の制限を超えて整数を処理する機能を拡張します。その操作、制限、および適切な使用例を理解することは、大きな整数の計算を必要とするアプリケーションでその利点を活用するのに役立ちます。


以上がJavaScript における BigInt を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:SSRとCSRの違い次の記事:SSRとCSRの違い