メインコンテンツまでスキップ

bigint型

JavaScriptのbigint型は、数値型よりも大きな整数を扱えるプリミティブ型です。

bigint型リテラル

JavaScriptのbigint型のリテラルは整数値の末尾にnをつけて書きます。

ts
const x = 100n;
ts
const x = 100n;

bigintリテラルをTypeScriptで用いるには、コンパイラーオプションのtargetをes2020以上にする必要があります。

bigint型の型注釈

TypeScriptでbigint型を型注釈するには、bigintを用います。

ts
const x: bigint = 100n;
ts
const x: bigint = 100n;

BigInt関数

bigint型はBigInt関数を使って作ることができます。BigInt関数は第1引数に数値もしくは文字列を渡します。

ts
const x = BigInt(100);
const y = BigInt("9007199254740991");
ts
const x = BigInt(100);
const y = BigInt("9007199254740991");

TypeScriptでBigInt関数を用いるには、コンパイラーオプションのlibをes2020以上にする必要があります。

bigint型を数値型と計算する

bigint型と数値型はそのままでは一緒に演算をすることはできません。どちらかに型を合わせる必要があります。

ts
2n + 3;
Operator '+' cannot be applied to types '2n' and '3'.2365Operator '+' cannot be applied to types '2n' and '3'.
ts
2n + 3;
Operator '+' cannot be applied to types '2n' and '3'.2365Operator '+' cannot be applied to types '2n' and '3'.

数値型が小数部を持っていない限り、より表現幅の広いbigint型に合わせる方が無難です。

ts
const i = 2n + BigInt(3); //=> 5n
 
console.log(i);
5
ts
const i = 2n + BigInt(3); //=> 5n
 
console.log(i);
5
  • 質問する ─ 読んでも分からなかったこと、TypeScriptで分からないこと、お気軽にGitHubまで🙂
  • 問題を報告する ─ 文章やサンプルコードなどの誤植はお知らせください。