Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 77 из 114 · 10 мин
Number.MAX_SAFE_INTEGER, MIN_SAFE_INTEGER, MAX_VALUE, MIN_VALUE, EPSILON, бесконечности, Number.NaN и проверки isInteger, isSafeInteger, isFinite.
0.1 + 0.2 !== 0.3. Ваш калькулятор врёт на триллионную копейки!
Числа в JavaScript — 64-битные дробные. У них есть пределы и погрешность. Знаешь их — не попадёшься.
Number.MAX_SAFE_INTEGER · Number.MIN_SAFE_INTEGERconsole.log(Number.MAX_SAFE_INTEGER, 2 ** 53 === 2 ** 53 + 1, Number.MIN_SAFE_INTEGER);Number.isSafeInteger() · Number.isInteger()isInteger(5.0) → true; isSafeInteger(2 ** 53) → false.console.log(Number.isInteger(5.0), Number.isInteger(5.5), Number.isSafeInteger(2 ** 53));Number.MAX_VALUE · Number.MIN_VALUEMAX_VALUE ≈ 1.8e308 — больше будет Infinity; MIN_VALUE ≈ 5e-324 — самое близкое к нулю положительное.console.log(Number.MAX_VALUE * 2, Number.MIN_VALUE / 2);Number.EPSILONconst close = (a, b) => Math.abs(a - b) < Number.EPSILON;
console.log(0.1 + 0.2 === 0.3, close(0.1 + 0.2, 0.3));Number.POSITIVE_INFINITY · Number.NEGATIVE_INFINITY · Number.NaNInfinity, -Infinity и NaN, но как свойства Number.console.log(Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, Number.NaN);Number.isFinite()Infinity и не NaN; строки не превращает.console.log(Number.isFinite(1 / 0), Number.isFinite("12"), Number.isFinite(12));Number.parseFloat() · Number.parseInt()parseFloat и parseInt, но в пространстве Number.console.log(Number.parseInt === parseInt, Number.parseFloat("3.5л"));Деньги — в копейках целыми числами. Дробные сравнивай с допуском Number.EPSILON.
Напиши almostEqual(a, b) через Number.EPSILON и validQty(n) — true, только если n безопасное целое от 1 до 99.
Выберите один ответ.
Что вернёт 2 ** 53 === 2 ** 53 + 1?
Выберите один ответ.
Что вернёт Number.isFinite("5")?
Проверяем состояние обучения…