コンテンツにスキップ

JavaScript/bigint

出典: フリー教科書『ウィキブックス(Wikibooks)』


bigint

[編集]

bigint は、任意の精度を持つ整数値を表現するためのJavaScriptのデータ型です。従来の number 型では正確に表現できない大きな整数を扱う際に使用されます。

構文

[編集]
const bigIntLiteral = 1234567890123456789012345678901234567890n; // リテラル表記
const bigIntObject = BigInt("1234567890123456789012345678901234567890"); // コンストラクタ

説明

[編集]
  • bigint 型は、整数のみを扱います。小数点や浮動小数点演算はサポートされません。
  • nサフィックス を使用してリテラルとして記述するか、BigInt() コンストラクタを使用して作成できます。
  • すべての bigint 値は不可変(immutable)であり、一度作成されると変更できません。

使用例

[編集]
// bigint の作成
const a = 1234567890123456789012345678901234567890n; // リテラル
const b = BigInt("1234567890123456789012345678901234567890"); // コンストラクタ

// 演算
const sum = a + b;
console.log(sum); // 2469135780246913578024691357802469135780n

const product = a * 2n;
console.log(product); // 2469135780246913578024691357802469135780n

// 比較
console.log(a > b); // false
console.log(a === b); // true

// 型チェック
console.log(typeof a); // "bigint"

// bigint と number の混合演算はエラーになる
const c = 10;
console.log(a + c); // TypeError: Cannot mix BigInt and other types

注意点

[編集]
  • bigintnumber 型は互換性がありません。混合して演算しようとすると TypeError が発生します。
  • 数値の精度が重要な場合(例: 金融計算など)には bigint が有用です。
  • bigint はJavaScriptのメモリ効率や速度に影響を与える場合があるため、大規模なデータ処理では注意が必要です。

bigint と number の違い

[編集]
特徴 bigint number
整数のみ 整数および小数
最大値/最小値 任意精度 ±2^53 - 1
混合演算 不可

関連項目

[編集]

参考

[編集]