Свойства объекта Number
Содержание
- 1. Обзор свойств объекта Number
- 2. Свойство Number.EPSILON. Указание точности вычислений для чисел с плавающей запятой
- 3. Свойства Number.MIN_SAFE_INTEGER и Number.MAX_SAFE_INTEGER. Границы безопасного представления целых чисел
- 4. Свойства Number.MIN_VALUE и Number.MAX_VALUE. Минимальное и максимальное значения числа
- 5. Свойство Number.NaN. Представление нечислового значения
- 6. Свойства Number.NEGATIVE_INFINITY и Number.POSITIVE_INFINITY. Отрицательная и положительная бесконечность
- Связанные темы
Поиск на других ресурсах:
1. Обзор свойств объекта Number
Объект Number обладает следующими свойствами:
- EPSILON – значение, определяющее минимально возможную точность вычислений;
- MAX_SAFE_INTEGER – максимальное безопасное целочисленное значение;
- MAX_VALUE – максимально возможное числовое значение;
- MIN_SAFE_INTEGER – минимальное безопасное целочисленное значение;
- MIN_VALUE – минимально возможное значение;
- NaN – значение Not a Number;
- NEGATIVE_INFINITY – обозначение отрицательной бесконечности;
- POSITIVE_INFINITY – обозначение положительной бесконечности.
⇑
2. Свойство Number.EPSILON. Указание точности вычислений для чисел с плавающей запятой
Свойство Number.EPSILON представляет значение, являющееся разницей между 1 и следующим значением с плавающей запятой, которое больше 1. Другими словами, Number.EPSILON является значением, обеспечивающим точность вычислений для чисел с плавающей запятой.
Пример.
// Свойство Number.EPSILON // 1. Вывести значение свойства alert(Number.EPSILON) // 2.220446049250313e-16 // 2. Равенство/неравенство между двумя числами var x = 0.5 var y = 1.2 - 0.8 + 0.1 if (Math.abs(x-y) < Number.EPSILON) alert("x == y"); // x == y else alert("x != y");
⇑
3. Свойства Number.MIN_SAFE_INTEGER и Number.MAX_SAFE_INTEGER. Границы безопасного представления целых чисел
Свойства Number.MIN_SAFE_INTEGER и Number.MAX_SAFE_INTEGER определяют границы корректного представления целых чисел. Как известно, все числовые значения в JavaScript являются 64-битными значениями с плавающей запятой согласно стандарту кодирования IEEE-754. Соответственно, кодирование целых чисел в 64-битном формате с плавающей запятой для целых чисел имеет свои ограничения или допустимые пределы. Эти границы и представлены именно этими константами.
Пример.
// Свойства Number.MIN_SAFE_INTEGER та NUMBER.MAX_SAFE_INTEGER // Вывести значения свойств alert(Number.MIN_SAFE_INTEGER) // -9007199254740991 alert(Number.MAX_SAFE_INTEGER) // 9007199254740991
⇑
4. Свойства Number.MIN_VALUE и Number.MAX_VALUE. Минимальное и максимальное значения числа
Свойства Number.MIN_VALUE и Number.MAX_VALUE представляют минимальное и максимальное положительное значение, которое может быть представлено в JavaScript.
Значение Number.MIN_VALUE – это положительное число с плавающей запятой, которое является наименьшим с точки зрения его приближенности к 0, ограниченной 64-битным кодированием согласно спецификации ECMAScript. Свойство Number.MIN_VALUE имеет примерное значение, равное 2-1024.
Доступ к свойствам MIN_VALUE и MAX_VALUE осуществляется как к глобальным статическим свойствам без создания объекта Number.
Свойство Number.MAX_VALUE представляет максимально возможное числовое значение, которое может быть получено для типа Number. Значение Number.MAX_VALUE примерно равно 21024.
Пример.
// Свойства Number.MIN_VALUE и NUMBER.MAX_VALUE // Вывести значения свойств alert(Number.MIN_VALUE) // 5e-324 alert(Number.MAX_VALUE) // 1.7976931348623157e+308
⇑
5. Свойство Number.NaN. Представление нечислового значения
Статическое свойство Number.NaN представляет собой объект, не являющийся числом (Not a Number).
Работа свойства тесно связана с функцией isNaN(), возвращающей true, если объект Number не является числом.
Пример.
// Свойства Number.MIN_VALUE и NUMBER.MAX_VALUE var a = Number.NaN var res = Number.isNaN(a) // res = true a = 0/0 // a = NaN або Number.NaN
⇑
6. Свойства Number.NEGATIVE_INFINITY и Number.POSITIVE_INFINITY. Отрицательная и положительная бесконечность
Статическое свойство Number.NEGATIVE_INFINITY определяет отрицательное значение бесконечности, представленное глобальным свойством Infinity. Согласно этому, статическое свойство Number.POSITIVE_INFINITY равно значению Infinity глобального свойства.
Поведение свойств Number.NEGATIVE_INFINITY и Number.POSITIVE_INFINITY отличается от математической бесконечности.
Для значения NEGATIVE_INFINITY можно выделить следующие особенности:
- произведение NEGATIVE_INFINITY на любое положительное значение (включая POSITIVE_INFINITY) дает результат NEGATIVE_INFINITY;
- произведение NEGATIVE_INFINITY на любое отрицательное значение (включая NEGATIVE_INFINITY) равно POSITIVE_INFINITY;
- если любое положительное значение разделить на NEGATIVE_INFINITY, то результатом будет отрицательный нуль;
- если любое отрицательное значение разделить на NEGATIVE_INFINITY, то результатом будет положительный нуль;
- произведение нуля на NEGATIVE_INFINITY дает NaN;
- NaN умножить на NEGATIVE_INFINITY дает NaN;
- если NEGATIVE_INFINITY разделить на отрицательное значение кроме NEGATIVE_INFINITY, то результат будет равен POSITIVE_INFINITY;
- если NEGATIVE_INFINITY разделить на любое положительное значение кроме POSITIVE_INFINITY, то результат будет равен NEGATIVE_INFINITY;
- если NEGATIVE_INFINITY разделить на NEGATIVE_INFINITY, то результат будет равен NaN;
- если NEGATIVE_INFINITY разделить на POSITIVE_INFINITY, результат будет равен NaN;
- для любого числа x, которое не равно NEGATIVE_INFINITY выполняется условие: x>NEGATIVE_INFINITY.
Для значения POSITIVE_INFINITY характерны следующие свойства:
- если умножить любое положительное значение (включая POSITIVE_INFINITY) на POSITIVE_INFINITY, результат будет POSITIVE_INFINITY;
- если умножить любое отрицательное значение (включая NEGATIVE_INFINITY) на POSITIVE_INFINITY, то результат будет NEGATIVE_INFINITY;
- если разделить любое положительное значение на POSITIVE_INFINITY, то результат будет положительным нулем;
- если разделить любое отрицательное число на POSITIVE_INFINITY, то результат будет отрицательный ноль;
- если умножить ноль на POSITIVE_INFINITY, результат будет NaN;
- если NaN умножить на POSITIVE_INFINITY, результат будет NaN;
- если POSITIVE_INFINITY разделить на любое отрицательное значение (кроме NEGATIVE_INFINITY), то результат будет равен NEGATIVE_INFINITY;
- если POSITIVE_INFINITY разделить на любое положительное значение кроме POSITIVE_INFINITY, результат будет равен POSITIVE_INFINITY;
- если POSITIVE_INFINITY разделить на NEGATIVE_INFINITY, то результат будет равен NaN;
- если POSITIVE_INFINITY разделить на POSITIVE_INFINITY, то результат будет равен NaN;
- для любого числа x отличного от POSITIVE_INFINITY выполняется утверждение: Number.POSITIVE_INFINITY > x.
Пример.
// Свойства Number.NEGATIVE_INFINITY и NUMBER.POSITIVE_INFINITY // 1. Присвоить свойство Infinity переменной a var a = Infinity // 2. Свойство Number.NEGATIVE_INFINITY var b b = Number.NEGATIVE_INFINITY * Number.POSITIVE_INFINITY // Number.NEGATIVE_INFINITY b = Number.NEGATIVE_INFINITY * 25 // b = Number.NEGATIVE_INFINITY b = Number.NEGATIVE_INFINITY * (-25) // b = Number.POSITIVE_INFINITY b = Number.NEGATIVE_INFINITY * Number.NEGATIVE_INFINITY // Number.NEGATIVE_INFINITY b = 25 / Number.NEGATIVE_INFINITY // отрицательный 0 b = -25 / Number.NEGATIVE_INFINITY // положительный 0 b = 0 * Number.NEGATIVE_INFINITY // NaN b = NaN * Number.NEGATIVE_INFINITY // NaN b = Number.NEGATIVE_INFINITY / (-25) // Number.POSITIVE_INFINITY b = Number.NEGATIVE_INFINITY / 25 // Number.NEGATIVE_INFINITY b = Number.NEGATIVE_INFINITY / Number.NEGATIVE_INFINITY // NaN b = Number.NEGATIVE_INFINITY / Number.POSITIVE_INFINITY // NaN a = 30 if (a>Number.NEGATIVE_INFINITY) alert("30 > Number.NEGATIVE_INFINITY"); // + else alert("30 <= Number.NEGATIVE_INFINITY"); // 3. Свойство Number.POSITIVE_INFINITY b = Number.POSITIVE_INFINITY * 25 // b = Number.POSITIVE_INFINITY b = Number.POSITIVE_INFINITY * Number.POSITIVE_INFINITY // POSITIVE_INFINITY b = Number.POSITIVE_INFINITY * (-25) // b = Number.NEGATIVE_INFINITY b = Number.POSITIVE_INFINITY * Number.NEGATIVE_INFINITY // Number.NEGATIVE_INFINITY b = 25 / Number.POSITIVE_INFINITY // положительный ноль b = (-25) / Number.POSITIVE_INFINITY // отрицательный ноль b = Number.POSITIVE_INFINITY * 0 // NaN b = Number.POSITIVE_INFINITY * Number.NaN // NaN b = Number.POSITIVE_INFINITY / (-25) // Number.NEGATIVE_INFINITY b = Number.POSITIVE_INFINITY / 25 // Number.POSITIVE_INFINITY b = Number.POSITIVE_INFINITY / Number.NEGATIVE_INFINITY // NaN b = Number.POSITIVE_INFINITY / Number.POSITIVE_INFINITY // NaN a = 30 if (Number.POSITIVE_INFINITY > a) alert("Number.POSITIVE_INFINITY > a"); // + else alert("Number.POSITIVE_INFINITY <= a");
⇑
Связанные темы
- Числовой тип данных Number. Функции преобразования между числовым типом и другими типами. Функции Number(), parseInt(), parseFloat()
- Функции определяющие текущее состояние объекта Number. Функции isFinite(), isInteger(), isNaN(), isSafeInteger()
- Функции представления объекта Number в разных нотациях. Функции toExponential(), toFixed(), toLocaleString(), toPrecision(), toString(), valueOf()
⇑