はじめに
JavaScriptにおいて、数値を扱うためにはNumberとBigIntの2つのデータ型があります。それぞれの基本的な特性や使い方について解説していきます。
JavaScriptにおけるデータ型とは
JavaScriptには、文字列や数値、真偽値などのデータ型があります。それぞれのデータ型には、特定の値を扱うための機能や特性があります。JavaScriptは動的型付け言語であるため、変数の値によって自動的にデータ型が変化することがあります。
Number型の基本的な特性と使い方
Number型は、JavaScriptにおいて最も基本的な数値のデータ型です。整数や浮動小数点数を扱うことができます。
Number型の基本的な使い方は、以下の通りです。
let num1 = 123; // 整数 let num2 = 3.14; // 浮動小数点数
また、Number型でよく使われるメソッドには、以下のようなものがあります。
toFixed()
:指定した桁数に丸めた値を返します。toPrecision()
:指定した桁数に丸めた値を返します。toString()
:数値を文字列に変換します。parseInt()
:文字列を整数に変換します。parseFloat()
:文字列を浮動小数点数に変換します。
BigInt型の導入とその必要性
JavaScriptのNumber型は、2^53-1(約900京)までの整数しか扱えません。このため、より大きな整数を扱いたい場合はBigInt型を使う必要があります。
BigInt型は、以下のように導入されます。
let bigInt = 123456789012345678901234567890n;
なお、BigInt型でよく使われる演算子には、以下のようなものがあります。
+
:加算-
:減算*
:乗算/
:除算%
:剰余**
:累乗
BigInt型の基本的な特性と使い方
BigInt型は、Number型と異なり、演算時に丸め誤差が発生しません。また、Number型と同様に、基本的な四則演算や比較演算が可能です。
BigInt型の基本的な使い方は、以下の通りです。
let bigInt1 = 123456789012345678901234567890n;
let bigInt2 = BigInt("987654321098765432109876543210");
console.log(bigInt1 + bigInt2); // 1111111110111111111011111111100n
NumberとBigIntの違いと使い分け
Number型とBigInt型の違いは、数値の扱える範囲や精度にあります。Number型は、一般的な数値計算には十分ですが、より大きな数値や高精度の計算が必要な場合にはBigInt型を使う必要があります。
例えば、以下のような計算を行う場合、Number型では誤差が発生しますが、BigInt型では正確な結果を得ることができます。
console.log(0.1 + 0.2); // 0.30000000000000004
console.log((0.1 * 10 + 0.2 * 10) / 10); // 0.3
let bigInt1 = 123456789012345678901234567890n;
let bigInt2 = BigInt("987654321098765432109876543210");
console.log(bigInt1 + bigInt2); // 1111111110111111111011111111100n
まとめ
JavaScriptにおいて、数値を扱うためにはNumber型とBigInt型の2つのデータ型があります。それぞれの基本的な特性や使い方を理解し、適切に使い分けることが大切です。