Властивості об’єкту 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 представляє собою об’єкт Number, що не є числом (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()
⇑