JavaScript | 基礎構文:データ型 – BigInt

JavaScript
スポンサーリンク

JavaScript入門:BigInt(とても大きな整数)

JavaScriptには通常の数値型 Number がありますが、これは「安全に扱える整数の範囲」が限られています。
その限界を超える大きな整数を扱うために登場したのが BigInt です。


Numberの限界

  • Numberは「倍精度浮動小数点数」で表現されます。
  • 安全に扱える整数は ±9,007,199,254,740,991(約9京)まで。
console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991
JavaScript

これを超えると「丸め誤差」が出てしまいます。

console.log(9007199254740991 + 1); // 9007199254740992
console.log(9007199254740991 + 2); // 9007199254740992(誤差で同じ値になる)
JavaScript

BigIntの基本

  • BigIntは「任意の大きさの整数」を表せる新しい型。
  • 末尾に n を付けるか、BigInt() 関数で作ります。
const big1 = 123456789012345678901234567890n; // nを付ける
const big2 = BigInt("123456789012345678901234567890"); // 関数で作る
JavaScript
  • 型は "bigint"
console.log(typeof big1); // "bigint"
JavaScript

BigIntの使い方

  • 基本演算は可能(+ – * / %)
const a = 9007199254740991n;
const b = 2n;
console.log(a + b); // 9007199254740993n
console.log(a * b); // 18014398509481982n
JavaScript
  • Numberとは直接混ぜられない
const n = 10;
const big = 20n;
// console.log(n + big); // TypeError(型が違う)
console.log(BigInt(n) + big); // 30n(NumberをBigIntに変換)
JavaScript
  • 割り算は整数のみ(小数は切り捨て)
console.log(5n / 2n); // 2n(小数点以下は切り捨て)
JavaScript

よく使う場面

  • 巨大なIDやキーの管理
const userId = 123456789012345678901234567890n;
JavaScript
  • 暗号・ハッシュ計算
  • 天文学的な数値や大きな桁数の計算
  • 金融や精密計算(ただし小数は扱えないので注意)

注意点

  • 小数は扱えない → BigIntは整数専用。
  • Numberと混ぜられない → 必要なら型変換する。
  • JSONにそのまま入れられない → 文字列に変換して保存する。

ミニ練習

問1: 安全な整数の限界を超える計算をBigIntで正しく行ってみよう。

const max = BigInt(Number.MAX_SAFE_INTEGER);
console.log(max + 2n); // 9007199254740993n(正しく計算できる)
JavaScript

問2: NumberとBigIntを足し算する正しい方法は?

const num = 100;
const big = 200n;
console.log(BigInt(num) + big); // 300n
JavaScript

問3: 7を3で割った結果をBigIntで求めよ。

console.log(7n / 3n); // 2n(小数点以下は切り捨て)
JavaScript

まとめ

  • Numberの安全整数範囲を超えると誤差が出る。
  • BigIntは任意の大きさの整数を扱える。
  • 末尾に n を付けるか BigInt() で作る。
  • Numberとは直接混ぜられないので型変換が必要。
  • 整数専用。小数は扱えない。

👉 BigIntを理解すると「超巨大な数値」も安心して扱えるようになります。
次のステップでは「NumberとBigIntの使い分け」を意識すると、より安全なコードが書けます。

タイトルとURLをコピーしました