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
Число, с типом 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
'bra' / 2;
// NaN
NaN == NaN;
// false