Number

a = 1;
a = 1.23;
a = 1E6;

// восьмиричная форма записи
a = 045;

// шестнадцатеричная форма
a = 0x45;

a = 10 % 3;
// 2, остаток от целочисленного деления

a++;
a--;
++a;
--a;
a += 5;
a -= 5;
a /= 5;

0.1 + 0.2 == 0.3;
// false

1 == 1.0;
// true

1/0;
// Infinity - бесконечность

-1/0;
// -Infinity - бесконечность

Note

EcmaScript6

// двоичное число
let a = 0b00001111;
const binaryZero = 0b0;
const binaryOne  = 0b1;
const binary255  = 0b11111111;
const binaryLong = 0b111101011101101;

// восьмиричное
let b = 0o17;
0x767 === 503

Number

class Number

Число, с типом float64

Наследник Object

Number(10);
// 10

Number("42.23");
// 42.23

Number("71oshi");
// Nan
EPSILON

Расчетная погрешность при сравнений чисел с плавающей запятой

NaN

Нечисло

NEGATIVE_INFINITY

Отрицательная бесконечность

MIN_VALUE

Наименьшее представимое число

MAX_SAFE_INTEGER

Note

ECMAScript6

MAX_VALUE

Наибольшее представимое число

MIN_SAFE_INTEGER

Note

ECMAScript6

POSITIVE_INFINITY

Положительная бесконечность

isFinite(number)

Значение является конечным числом

Note

ECMAScript6

Number.isFinite(10);
// true

Number.isFinite(Nan);
// false

Number.isFinite(null);
// false

Number.isFinite([]);
// false
isInteger(number)

Переменная - целое число

Note

ECMAScript6

Number.isInteger(42);
// true

Number.isInteger(42.000);
// true

Number.isInteger(42.3);
// false
// полифил
if (!Number.isInteger){
    Number.isInteger = function(num){
        return (
            typeof num === 'number' && num % 1 == 0
        );
    }
}
isNan(number)

Переменная Nan

New in version ECMAScript6.

Number.isNaN(NaN) === true
Number.isNaN(null) === false
Number.isNaN(undefined) === false
Number.isNaN({}) === false
Number.isNaN(0/0) === false
Number.isNaN('hello') === false
isSafeInteger(number)

Note

ECMAScript6

Number.isSafeInteger(Number.MAX_SAFE_INTEGER); // true
Number.isSafeInteger(Math.pow(2, 53));         // false
Number.isSafeInteger(Math.pow(2, 53) - 1);     // true
// полифил
if (!Number.isSafeInteger){
    Number.isSafeInteger = function(num){
        return (
            Number.isInteger(num) && Math.abs(num) <= Number.MAX_SAFE_INTEGER
        );
    }
}
toExponential([fractionDigits])

Возвращает строку, число в экспоненциальной форме

  • fractionDigits - количество чисел после запятой (0 - 20)

var x = 123456789;

x.toExponential();
// '1.23456789e+8'

x.toExponential(1);
// '1.2e+8'

x.toExponential(2);
// '1.23e+8'

x.toExponential(3);
// '1.235e+8'
toFixed([[fractionDigits]])

Возвращает строку, с определенным количеством знаков после запятой (0 - 20)

var y = 43.81327;

y.toFixed();
// '44'

y.toFixed(1);
// '43.8'

y.toFixed(2);
// '43.81'

y.toFixed(3);
// '43.813'
toPrecission([precission])

Возвращает строку, число в десятичной форме

  • precission - количество чисел (1 - 21)

var n = 12345.6789;

n.toPrecission(6);
// '12345.7'

n.toPrecission(4);
// '1.235e+4'
toString([radx=10])

Возвращает строковое представление числа

  • radx - система исчисления (2-36)

var n = 7432;

n.toString();
// '7432'

n.toString(2);
// '1110100001000'

NaN

class Nan
'bra' / 2;
// NaN

NaN == NaN;
// false