Number【数値】オブジェクト

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

メモ

概要

  • 数値を表す オブジェクト
  • Number型【数値型】も同等の処理が可能 (一時的に Number【数値】オブジェクト を作成)

変換

関連

外部リンク


リテラル

リテラル説明
グローバルの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