JavaScript/bigint
表示
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
注意点
[編集]bigint
とnumber
型は互換性がありません。混合して演算しようとするとTypeError
が発生します。- 数値の精度が重要な場合(例: 金融計算など)には
bigint
が有用です。 bigint
はJavaScriptのメモリ効率や速度に影響を与える場合があるため、大規模なデータ処理では注意が必要です。
bigint と number の違い
[編集]特徴 | bigint | number |
---|---|---|
型 | 整数のみ | 整数および小数 |
最大値/最小値 | 任意精度 | ±2^53 - 1 |
混合演算 | 不可 |