カテゴリ: JavaScript 更新日: 2025/11/30

JavaScriptのBigInt型とは?大きな整数の扱い方と活用例

JavaScriptのBigInt型とは?大きな整数の扱い方と活用例
JavaScriptのBigInt型とは?大きな整数の扱い方と活用例

先生と生徒の会話形式で理解しよう

生徒

「先生、JavaScriptでとても大きな数字を扱いたいんですが、普通の数値では正確に扱えないって聞きました。どうすればいいですか?」

先生

「JavaScriptにはBigInt型というとても大きな整数を扱うための特別な型があります。これを使うと、普通の数値の制限を超えた数字も安全に扱えますよ。」

生徒

「普通の数字とBigIntは何が違うんですか?」

先生

「詳しく説明しますね。まずは基本から見ていきましょう!」

1. BigInt型とは?

1. BigInt型とは?
1. BigInt型とは?

JavaScriptのBigInt型は、非常に大きな整数を扱うための新しいデータ型です。普通の数値(Number型)は約±9京(9,007,199,254,740,991)までしか正確に扱えません。これを超えると誤差が出てしまいます。

BigIntはその制限を超えて、いくらでも大きな整数を安全に扱えます。大きな数字を使う場面や、金融計算、ID管理などで便利です。

2. BigIntの作り方(使い方)

2. BigIntの作り方(使い方)
2. BigIntの作り方(使い方)

BigIntは2つの方法で作れます。

  • 数字の後に「n」をつける
  • BigInt()関数を使う

const bigNum1 = 123456789012345678901234567890n;
const bigNum2 = BigInt("123456789012345678901234567890");

console.log(bigNum1);
console.log(bigNum2);

どちらも同じように大きな整数を表します。数字の後に「n」を付ける方法がシンプルです。

3. Number型とBigInt型の違い

3. Number型とBigInt型の違い
3. Number型とBigInt型の違い

JavaScriptの普通の数値は「Number型」と呼ばれ、小数点を含む浮動小数点数です。一方、BigInt型は整数だけ扱います。小数は扱えません。

さらに、Number型とBigInt型は別の型なので、混ぜて計算するとエラーになります。


// BigInt同士は計算できる
const a = 10n;
const b = 20n;
console.log(a + b); // 30n

// NumberとBigIntは混ぜられない(エラーになる)
const c = 10;
console.log(c + a); // エラーになる

計算するときは同じ型に揃える必要があります。

4. BigIntで使える主な演算

4. BigIntで使える主な演算
4. BigIntで使える主な演算

BigIntは普通の数値と同じように、足し算・引き算・掛け算・割り算ができます。ただし、割り算の結果は小数点以下を切り捨てた整数になります。


const x = 1000000000000000000000n;
const y = 2000000000000000000000n;

console.log(x + y);  // 3000000000000000000000n
console.log(y - x);  // 1000000000000000000000n
console.log(x * 2n); // 2000000000000000000000n
console.log(y / x);  // 2n(小数点以下は切り捨て)

小数点以下も使いたい場合はNumber型を使いましょう。

5. BigIntを使うときの注意点

5. BigIntを使うときの注意点
5. BigIntを使うときの注意点
  • BigIntは整数しか扱えません。小数は使えません。
  • Number型と混ぜて計算するとエラーになります。計算前に型を揃えましょう。
  • JSONにそのまま変換できません。BigIntをJSONで送るときは文字列に変換する必要があります。
  • BigIntはまだ一部の古いブラウザで動かないことがあるので、対応状況を確認してください。

6. BigIntの活用例

6. BigIntの活用例
6. BigIntの活用例

BigIntは以下のような場面で役立ちます。

  • 超大きなIDを扱うシステム(例えばデータベースのユニークID)
  • 金融計算などで非常に大きな整数を安全に計算したい場合
  • 暗号化やセキュリティ関連の処理で大きな整数を使う場合

具体的な例として、下記のように超巨大な数を足し合わせることも可能です。


const big1 = 9007199254740991n; // Number型の安全な最大整数
const big2 = 123456789012345678901234567890n;

const sum = big1 + big2;
console.log(sum);

このようにBigIntを使うことで、JavaScriptで扱う数値の幅がぐっと広がります。

まとめ

まとめ
まとめ

BigInt型の基本と活用方法

今回の記事では、JavaScriptで扱える非常に大きな整数であるBigInt型について学びました。Number型では安全に扱える整数の上限が約九京(9,007,199,254,740,991)までですが、BigInt型を使うとこの制限を超えても正確に整数を扱うことができます。BigIntは整数専用の型であり、小数は扱えません。また、Number型とBigInt型は別の型として扱われるため、混ぜて計算するとエラーになることも理解しました。

BigInt型の作成方法

BigInt型の数値は二つの方法で作れます。数字の末尾に「n」を付ける方法と、BigInt()関数を使う方法です。どちらも同じように大きな整数を表すことができ、用途や好みに応じて使い分けられます。例えば、const bigNum = 123456789012345678901234567890nのように作成したり、BigInt("123456789012345678901234567890")と文字列から生成することも可能です。

BigInt型でできる演算と注意点

BigInt型では足し算、引き算、掛け算、割り算など基本的な算術演算ができます。割り算の結果は小数点以下が切り捨てられることや、Number型と混ぜて計算するとエラーになることも重要なポイントです。また、JSONに変換するときはそのままでは使えず、文字列に変換する必要があります。さらに古いブラウザでは未対応のこともあるため、利用する環境に注意が必要です。

BigInt型の活用例

BigInt型は、超大きなIDを扱うシステムや金融計算、暗号化やセキュリティ処理などで非常に有用です。Number型では扱えない桁数の整数も安全に計算できるため、特に大規模データや高精度な計算が必要な場面で活躍します。例えば、const sum = 9007199254740991n + 123456789012345678901234567890nのように、非常に大きな数の足し算も可能です。

先生と生徒の振り返り会話

生徒

「先生、今日学んだBigInt型の使い方はすごくわかりやすかったです。Number型では扱えない大きな整数でも安心して使えるんですね。」

先生

「そうです。特に金融計算や暗号処理、大きなID管理などで役立つので、実務でも非常に便利です。作成方法も二種類あるので、状況に応じて使い分けましょう。」

生徒

「演算でNumber型と混ぜるとエラーになることや、割り算の結果は整数になることも理解できました。これを気をつければ安全に計算できそうです。」

先生

「その通りです。また、JSONに変換する際には文字列に変換することや、ブラウザ対応にも注意してください。BigInt型を正しく理解することで、JavaScriptでの大きな整数の扱いが格段に便利になります。」

生徒

「今日の学びを活かして、実際に大きな数値を扱うプログラムを書いてみたいです。」

先生

「ぜひ挑戦してみてください。BigInt型を使った計算や活用例を自分で試すことで、理解がさらに深まります。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JavaScriptで普通の数値では扱えないくらい大きな数字を安全に扱う方法はありますか?

JavaScriptではNumber型では扱えない非常に大きな整数も、BigInt型を使うことで正確に安全に扱うことができます。BigInt型を使うと金融計算や超大きなID管理など幅広い用途に対応できます。

BigInt型とNumber型は何が違うのですか?

BigInt型は整数専用の型で、非常に大きな整数を扱えます。Number型は小数点を含む浮動小数点数であり、約九京までの整数しか正確に扱えません。計算時には型の違いに注意が必要です。

理解度のクイズ問題

理解度のクイズ
この記事の理解度をクイズで確認しよう

空欄の★に当てはまる内容を答えてください。

問題
JavaScriptの通常の数値型(Number型)は、約±9京までしか正確に扱えません。 これを超える巨大な整数を正確に扱いたいときは BigInt 型を利用します。 BigIntを作る方法には「数値の末尾に n を付ける」または BigInt() 関数を使う方法があります。
const big1 = 123456789012345678901234567890n;
const big2 = BigInt("123456789012345678901234567890");

console.log(big1);
console.log(big2);
【ヒント】 ・Number型は小数も扱えるが精度に限界がある。 ・BigInt型は整数専用で、金融計算やID管理などで役立つ。 ・NumberとBigIntは混ぜて計算できないので注意。 ・関連キーワード:JavaScript、データ型、整数、演算、互換性。

下記をクリックすると、解答が表示されます
カテゴリの一覧へ
新着記事
JavaScriptの文字列の長さを取得する(lengthプロパティ)
JavaScriptの文字列を大文字・小文字に変換する方法(toUpperCaseなど)
JavaScriptのライブラリとは?標準ライブラリと外部ライブラリの違いと使い方
JavaScriptの文字列を数値に変換する方法(parseInt, parseFloat, Number)
人気記事
No.1
Java&Spring記事人気No1
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.3
Java&Spring記事人気No3
JavaScriptの数値操作を応用した便利なTips集まとめ
No.4
Java&Spring記事人気No4
TypeScriptの始め方:開発環境の構築手順【初心者向け】