Numberオブジェクトとは
number(数値型)を扱うためのラッパーオブジェクト。
Numberオブジェクトではプロパティ(定数)も提供している。
Numberオブジェクトの定数
無限大、非数、最大/最小整数など、特殊な値を表すための定数を提供。
無限大と非数値
-
POSITIVE_INFINITY NEGATIVE_INFINITY
表現可能な数値の範囲を超えた場合の戻り値として利用される。
-
NaN(Not a Number)
不正な演算が行われた場合などに数値として表現できない結果を表す。
NaNは自分自身を含むすべての数値と等しくない性質を持つ。NaNを検出したい場合は「Number.isNaN」メソッドを使用する。
最大整数値と最小整数値
-
MAX_SAFE_INTEGER
安全に(誤った計算が発生しない)演算できる範囲の最大の整数値
-
MIN_SAFE_INTEGER
安全に(誤った計算が発生しない)演算できる範囲の最小の整数値
数値形式の変換
toXxxxメソッドは数値の形式を何らかの形式に変化する。
let num1 = 255;
/* 指定した進数に変換 */
console.log(num1.toString(16));// ff
console.log(num1.toString(8));// 377
let num2 = 123.45678;
/* 小数点以下の桁数を指定して埋める */
console.log(num2.toFixed(3));// 123.457
console.log(num2.toFixed(7));// 123.4567800
/* 全体の桁数を指定して埋める。 */
console.log(num2.toPrecision(10));//123.4567800
console.log(num2.toPrecision(5));//123.46
より詳細のスタイルを定義する
-
Intl.NumberFormat([locales [, options]]
let num = 1234.567; let fmt = new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY", currencyDisplay: "symbol",}); console.log(fmt.format(num));//¥1,235
このほかにも様々なオプションがるのでMDN参照。
文字列を数値に変換する
データ型に寛容であるが、時として思わぬバグになるケースもある。そのためにJavaScriptは「明示的に」変換するための方法がある。
console.log(Number.parseFloat(n));//4.567
console.log(Number.parseInt(n));//4
基本的な数学演算を実行する
Numberオブジェクトは数値型を直接操作するためのオブジェクト。Mathオブジェクトでは指数関数計算や平方根、対数関数さんなど数学に関わる演算機能を持つ。 詳細はMDNを参照。
Math.プロパティ名
Math.メソッド名(引数, ...)
乱数を求める。
randomメソッドはよく利用するので知っておくと便利。
let min = 50;
let max = 100;
console.log(Math.floor(Math.random()* (max - min + 1)) + min);
過去記事