TECH I.S.

JavaScript BigInt

JavaScriptのBigInt変数は、大きすぎて通常のJavaScriptでは表現できない大きな整数値を格納するために使用されます。


JavaScript整数精度

JavaScriptの整数は15桁までしか正確ではありません。

整数精度

let x = 999999999999999; let y = 9999999999999999;

JavaScriptでは、すべての数値が64ビット浮動小数点形式(IEEE 754 標準)で格納されます。

この標準では、大きな整数を正確に表すことができず、丸められます。

このため、JavaScriptは整数のみを安全に表現できます。

9007199254740991+(253-1)まで
そして、

-9007199254740991-(253-1)まで。

この範囲外の整数値は精度を失います。


BigInt の作成方法

BigIntを作成するには、整数または呼び出しの末尾にnを追加するか、次のように呼び出しますBigInt()

let x = 9999999999999999; let y = 9999999999999999n;

let x = 1234567890123456789012345n; let y = BigInt(1234567890123456789012345)


BigInt: 新しいJavaScriptデータ型

JavaScriptのBigIntは「bigint」です。

let x = BigInt(999999999999999); let type = typeof x;

BigIntは、JavaScriptの2 番目の数値データ型です 。
BigIntは、JavaScriptでサポートされているデータ型の総数は8です。
  1. String
  2. Number
  3. Bigint
  4. Boolean
  5. Undefined
  6. Null
  7. Symbol
  8. Object

BigInt演算子

JavaScriptで使用できる演算子はNumberBigIntです。

BigInt 乗算の例

let x = 9007199254740995n; let y = 9007199254740995n; let z = x * y;

注意

BigIntNumber間の算術は許可されていません (型変換は情報を失います)。
符号なし右シフト(>>>)は、BigInt(固定幅はありません)。

BigInt 10進数

AにBigInt小数は使用できません。

BigInt 除算の例

let x = 5n; let y = x / 2; // Error: Cannot mix BigInt and other types, use explicit conversion.
let x = 5n; let y = Number(x) / 2;


BigInt 16進数、8進数、2進数

BigInt16進数、8進数、または 2進数で記述することもできます。

BigInt Hexの例

let hex = 0x20000000000003n; let oct = 0o400000000000000003n let bin = 0b100000000000000000000000000000000000000000000000000011n;


正確な好奇心

丸めを行うと、プログラムのセキュリティを損なう可能性があります。

MAX_SAFE_INTEGERの例

9007199254740992 === 9007199254740993; // true


ブラウザのサポート

BigIntは、2020年9月以降すべてのブラウザーでサポートされています。


Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
2018年5月 2020年1月 2019年7月 2020年9月 2018年6月


安全な整数の最小値と最大値

ES6Number オブジェクトにmaxプロパティとminプロパティを追加しました。

  • MAX_SAFE_INTEGER
  • MIN_SAFE_INTEGER

MAX_SAFE_INTEGERの例

let x = Number.MAX_SAFE_INTEGER;

MIN_SAFE_INTEGER の例

let x = Number.MIN_SAFE_INTEGER;


新しい数値メソッド

ES6また、Numberオブジェクトに2つの新しいメソッドを追加しました。

Number.isInteger()
Number.isSafeInteger()


Number.isInteger()メソッド

Number.isInteger()メソッドは、引数が整数の場合trueを返します。

例: isInteger()

Number.isInteger(10); Number.isInteger(10.5);


Number.isSafeInteger()メソッド

安全な整数は、倍精度数として正確に表現できる整数です。

Number.isSafeInteger()メソッドは、引数が安全な整数の場合がtrueを返します。

例 isSafeInteger()

Number.isSafeInteger(10); Number.isSafeInteger(12345678901234567890);

安全な整数はすべて、-(253-1)から+(253-1)までの整数です。
これは安全です: 9007199254740991。 これは安全ではありません: 9007199254740992。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細