Number【数値】オブジェクト
メモ ( 外部リンク ) リテラル コンストラクタ・型変換 プロパティ・定数 メソッド 例
メモ
- 数値を表す オブジェクト
- 64ビット倍精度 IEEE-754:符号 1ビット・指数部 11ビット・仮数部 52ビット
- 最大値・最小値:定数 参照
- 非数・無限大も表現可能 (定数 参照)
- リテラル値:リテラルを参照
- クラス定義による継承可能
- Number.MAX_SAFE_INTEGER【正確な最大整数値】(9,007,199,254,740,991) よりも大きな整数値 が必要な場合は、BigInt【任意精度整数】 を使用
- 数値セパレータ使用可
- Number型【数値型】も同等の処理が可能 (一時的に 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