JavaScriptの数値

概要: このチュートリアルでは、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 tokenCode 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 recommededCode 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.0000005Code 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.30000000000000004Code language: CSS (css)

BigInt(大きな整数)

JavaScriptは、ES2022からbigint型を導入しました。 bigint型は、値が253 – 1より大きい整数値を格納します。

BigIntリテラルは、整数リテラルの末尾にn文字が付きます。次のように。

let pageView = 9007199254740991n;Code language: JavaScript (javascript)

まとめ

  • JavaScriptのNumber型は、整数と浮動小数点数の両方を表します。
このチュートリアルは役に立ちましたか?