Number【数値】オブジェクト

メモ ( 外部リンク ) リテラル コンストラクタ・型変換 プロパティ・定数 メソッド

メモ

ECMAScript (英語)

Numeric Literals
ES2022 (13) ES2021 (12) ES2020 (11)
Additional Syntax Numeric Literals
ES2022 (13) ES2021 (12) ES2020 (11)
Number Objects
ES2022 (13) ES2021 (12) ES2020 (11)
Number.prototype.constructor
ES2022 (13) ES2021 (12) ES2020 (11)
Number.prototype
ES2022 (13) ES2021 (12) ES2020 (11)

リテラル

リテラル説明
グローバルのNaN
Number.NaN
NaN
Number.NaN
非数
-グローバルのInfinity【無限大】
Number.NEGATIVE_INFINITY
-Infinity
Number.NEGATIVE_INFINITY
負の無限大 (-∞)
+グローバルのInfinity【無限大】
Number.POSITIVE_INFINITY
+Infinity
Number.POSITIVE_INFINITY
正の無限大 (+∞)
[±]n~n
(n:0~9 / n~nの先頭は8進数とみなされる00~07以外)
123
0800
10進数
[±]0bn~n
[±]0Bn~n
(n:0・1)
0b01000001
0B11111111
 
2進数
[±]0n~n (strictモードでは使用不可)
[±]0on~n
[±]0On~n
(n:0~7)
0777
0o777
0O777
 
8進数

0on~n形式
[±]0xh~h
[±]0Xh~h
(h:0~9・a~f・A~F)
0x1234
0XabCD
16進数
[±]n~n【整数部】.n~n【小数部】e[±]n~n【指数部】
[±]n~n【整数部】.n~n【小数部】E[±]n~n【指数部】
(n:0~9)
n~n【整数部】とn~n【小数部】のどちらかは省略可能
n~n【整数部】の先頭は8進数とみなされる00~07以外
123e4 (=1230000)
1.23E4 (=12300)
123e-4 (=0.0123)
指数
※ 数値セパレータ
  数値部分をアンダースコア (_) で区切ることが可能
  • 先頭 及び 末尾 は不可
  • 先頭の 0 の直後は不可
  • 連続使用は不可

コンストラクタ・型変換

メソッド説明
new Number( [ value ] ) コンストラクタ
Number( [ value ] ) 型変換

プロパティ・定数

プロパティ・定数説明備考
Number.prototype.constructorコンストラクタ定義 下記 参照
Number.EPSILON 最小の数値差約 2.2204460492503130808472633361816 × 10-16
Number. MAX_SAFE_INTEGER   正確な最大整数値9007199254740991 (253-1)
Number. MAX_VALUE 表現できる正の最大値約 1.7976931348623157 × 10308
Number. MIN_SAFE_INTEGER   正確な最小整数値−9007199254740991 (−(253−1))
Number. MIN_VALUE 表現できる正の最小値約 5 × 10−324
Number. NaN 非数グローバルのNaN
Number. NEGATIVE_INFINITY 負の無限大 (-∞)
Number. POSITIVE_INFINITY 正の無限大 (+∞)
Number.prototypeプロトタイプ 下記 参照

メソッド

メソッド説明
Number. isFinite( number ) 有限数 判定
Number. isInteger( number ) 整数 判定
Number. isNaN( number ) 非数 判定
Number. isSafeInteger( number ) 正確な整数値 判定
Number.parseFloat( string ) 文字列 → 浮動小数点数 変換
(グローバルのparseFloat【文字列 → 浮動小数点数 変換】と同等)
Number. parseInt  ( string, radix ) 文字列 → 整数値 変換
(グローバルのparseInt【文字列 → 整数 変換】と同等)
Number.prototype.toExponential( fractionDigits )文字列変換 (指数形式)
Number.prototype.toFixed( fractionDigits ) 文字列変換 (固定小数点形式)
Number.prototype. toLocaleString() 実装依存
toLocaleString( [locales [, options]]) )
文字列変換 (ロケール)
(実装依存:3桁区切り・通貨記号 等)
Number.prototype.toPrecision( precision ) 文字列変換 (有効桁数 指定)
Number.prototype.toString( [ radix ] ) 文字列変換 (基数指定可)
Number.prototype.valueOf() Number値 取得

console.log(Number.prototype);
// 出力:Number
// 出力:  constructor:Number()
// 出力:  toExponential:toExponential()
// 出力:  toFixed:toFixed()
// 出力:  toLocaleString:toLocaleString()
// 出力:  toPrecision:toPrecision()
// 出力:  toString:toString()
// 出力:  valueOf:valueOf()
// 出力:  __proto__:Object
// 出力:  [[PrimitiveValue]]:0

var num = 123;
console.log(num.constructor);
// 出力:function Number() { [native code] }
// 10進数
let nums = [1234, +12345, -123456, 0800, 1_234_567];
for (let num of nums) {
    console.log(num, typeof num);
}
// 出力:1234 number
// 出力:12345 number
// 出力:-123456 number
// 出力:800 number
// 出力:1234567 number

// 2進数
nums = [0b1111, +0b1100, -0b0011, 0b00001111, 0b1111_0000];
for (let num of nums) {
    console.log(num.toString(2), typeof num);
}
// 出力:1111 number
// 出力:1100 number
// 出力:-11 number
// 出力:1111 number
// 出力:11110000 number

// 8進数
nums = [0777, +0o765, -0O567, 0o777_000];
for (let num of nums) {
    console.log(num.toString(8), typeof num);
}
// 出力:777 number
// 出力:765 number
// 出力:-567 number
// 出力:777000 number

// 16進数
nums = [0xabcd, +0XBCDE, -0xcdef, 0xabcd_ABCD];
for (let num of nums) {
    console.log(num.toString(16), typeof num);
}
// 出力:abcd number
// 出力:bcde number
// 出力:-cdef number
// 出力:abcdabcd number

// 指数
nums = [123e4, +1234E+5, -12345e-6, 1_234e1_0_0];
for (let num of nums) {
    console.log(num, typeof num);
}
// 出力:1230000 number
// 出力:123400000 number
// 出力:-0.012345 number
// 出力:1.234e+103 number