{category}

JavaScript - プリミティブ型

BigInt

ビッグ イント(データ型

意味 大きな整数型


BigIntとは?

任意の大きさの整数を表現するデータ型。

BigIntの具体的な使い方

BigIntの宣言方法

const bigInt1 = 1234567890123456789012345678901234567890n;
const bigInt2 = BigInt("9007199254740991");
const bigInt3 = BigInt(9007199254740991);

BigIntの様々な宣言方法を示します。

BigInt同士の演算

const bigInt1 = 1234567890123456789012345678901234567890n;
const bigInt2 = BigInt("9007199254740991");

// BigInt同士の演算
console.log(bigInt1 + 1n);
console.log(bigInt2 * 2n);

👇出力結果

1234567890123456789012345678901234567891n
18014398509481982n

BigInt同士の加算と乗算の例を示します。数値の後ろに付けられた 'n' は、その数値がBigInt型であることを示します。これにより、JavaScriptは通常のNumber型ではなく、BigInt型として値を扱います。

BigIntと通常の数値の演算

const bigInt3 = BigInt(9007199254740991);

// BigIntと通常の数値は直接演算できない
try {
  console.log(bigInt3 + 1);  // エラーになる
} catch (e) {
  console.log("エラー: BigIntと通常の数値は直接演算できません");
}

👇出力結果

エラー: BigIntと通常の数値は直接演算できません

BigIntと通常の数値は直接演算できないことを示します。

BigIntの文字列変換

const bigInt1 = 1234567890123456789012345678901234567890n;

// BigIntを文字列に変換
console.log(bigInt1.toString());

👇出力結果

1234567890123456789012345678901234567890

BigIntを文字列に変換する方法を示します。

BigIntの基本と安全な整数

const maxSafeInteger = Number.MAX_SAFE_INTEGER;
console.log("最大の安全な整数:", maxSafeInteger);

// Numberで安全に扱える範囲を超える計算
console.log(maxSafeInteger + 1);
console.log(maxSafeInteger + 2);

// BigIntを使用した場合
const bigMaxSafeInteger = BigInt(maxSafeInteger);
console.log(bigMaxSafeInteger + 1n);
console.log(bigMaxSafeInteger + 2n);

👇出力結果

最大の安全な整数: 9007199254740991
9007199254740992
9007199254740992
9007199254740992n
9007199254740993n

BigIntとNumberの違いを示し、安全に大きな数を扱う方法を説明します。

BigIntとNumberの比較

console.log(1n < 2);   // true
console.log(2n > 1);   // true
console.log(2n >= 2);  // true
console.log(2n === 2); // false(型が異なるため)
console.log(2n == 2);  // true(型を無視して比較)

👇出力結果

true
true
true
false
true

BigIntとNumberの比較方法を説明します。

BigIntに関するよくある質問

Q. BigIntはいつ使うべき?
A. BigIntは、Number.MAX_SAFE_INTEGER(2^53 - 1)を超える整数を扱う場合や、非常に高い精度が必要な整数計算を行う場合に使用します。暗号や金融計算など、大きな数値を正確に扱う必要がある場面で特に有用です。
Q. BigIntとNumberは互換性がある?
A. BigIntとNumberは異なる型であり、直接的な演算はできません。例えば、BigInt + Number はエラーになります。演算を行う場合は、明示的に型変換を行う必要があります。また、BigIntをNumberに変換する際は、精度が失われる可能性があるので注意が必要です。

BigIntが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、JavaScriptのBigIntやArray、Number、Object、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


JavaScriptを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!JavaScriptはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

Array

配列型

種類: オブジェクト型

Number

数値型

種類: プリミティブ型

Object

オブジェクト型

種類: オブジェクト型

!==

厳密非等価

種類: 比較演算子

ローカルスコープ

関数内部のローカル領域

種類: スコープとクロージャ