概要: このチュートリアルでは、JavaScriptの数値型とその効果的な使用方法について学習します。
JavaScriptの数値入門
JavaScriptは、整数と浮動小数点値の両方を表すためにnumber
型を使用します。技術的には、JavaScriptのnumber
型はIEEE-754形式を使用します。
ES2020では、253 – 1より大きい値を持つ大きな整数を表す新しいプリミティブ型bigint
が導入されました。
さまざまな種類の数値をサポートするために、JavaScriptは異なる数値リテラル形式を使用します。
整数
10進整数を保持する変数を宣言する方法を以下に示します。
let counter = 100;
Code language: JavaScript (javascript)
整数は、次の形式で表すことができます。
- 8進数(基数8)
- 16進数(基数16)
算術演算で8進数と16進数を使用する場合、JavaScriptはそれらを10進数として扱います。
8進数
8進数リテラルは、数字のゼロ(0)で始まり、その後に8進数の数字(0から7までの数字)が続きます。例えば
let num = 071;
console.log(num);
Code language: JavaScript (javascript)
出力
57
8進数に0から7の範囲にない数が含まれている場合、JavaScriptエンジンは0を無視し、その数を10進数として扱います。例えば
let num = 080;
console.log(num);
Code language: JavaScript (javascript)
出力
80
この暗黙的な動作は問題を引き起こす可能性があります。そのため、ES6では、0o
で始まり、その後に8進数の数字(0から7)が続く新しい8進数リテラルが導入されました。例えば
let num = 0o71;
console.log(num);
Code language: JavaScript (javascript)
出力
57
0o
の後に無効な数値がある場合、JavaScriptは次のような構文エラーを発行します。
let num = 0o80;
console.log(num);
Code language: JavaScript (javascript)
出力
let num = 0o80;
^^
SyntaxError: Invalid or unexpected token
Code language: JavaScript (javascript)
16進数
16進数は、0xまたは0Xで始まり、その後に任意の数の16進数の数字(0から9、およびaからf)が続きます。例えば
let num = 0x1a;
console.log(num);
Code language: JavaScript (javascript)
出力
26
浮動小数点数
浮動小数点リテラル数を定義するには、小数点とその後に少なくとも1つの数字を含めます。例えば
let price = 9.99;
let tax = 0.08;
let discount = .05; // valid but not recommeded
Code language: JavaScript (javascript)
非常に大きな数値がある場合は、e表記を使用できます。e表記は、数値に10の指定された累乗を掛ける必要があることを示します。例えば
let amount = 3.14e7;
console.log(amount);
Code language: JavaScript (javascript)
出力
31400000
3.14e7
という表記は、3.14
を取り、それに107
を掛けることを意味します。
同様に、E表記を使用して非常に小さい数を表すことができます。例えば
let amount = 5e-7;
console.log(amount);
Code language: JavaScript (javascript)
出力
0.0000005
Code language: CSS (css)
5e-7表記は、5を取り、それを10,000,000で割ることを意味します。
また、JavaScriptは、小数点の後に少なくとも6つのゼロを持つ浮動小数点数を自動的にe表記に変換します。例えば
let amount = 0.0000005;
console.log(amount);
Code language: JavaScript (javascript)
出力
5e-7
浮動小数点数は、小数点以下17桁まで正確です。浮動小数点数で算術演算を実行すると、近似値が得られることがよくあります。例えば
let amount = 0.2 + 0.1;
console.log(amount);
Code language: JavaScript (javascript)
出力
0.30000000000000004
Code language: CSS (css)
BigInt(大きな整数)
JavaScriptは、ES2022からbigint
型を導入しました。 bigint
型は、値が253 – 1より大きい整数値を格納します。
BigIntリテラルは、整数リテラルの末尾にn
文字が付きます。次のように。
let pageView = 9007199254740991n;
Code language: JavaScript (javascript)
まとめ
- JavaScriptのNumber型は、整数と浮動小数点数の両方を表します。