Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Числа

Числа нужны везде: цены в корзине, возраст пользователя, количество лайков. В JavaScript для всех чисел есть один тип — number, и целые, и дробные значения хранятся одинаково.

Целые и дробные числа

Целые числа пишут как обычно, а дробную часть отделяют точкой, а не запятой:

console.log(3.5 + 1); // 4.5

Длинные числа можно разбивать знаком подчёркивания — JavaScript его просто игнорирует, а читать код становится легче:

const population = 1_500_000;
 
console.log(population); // 1500000

Округление

Для округления есть встроенный объект Math — набор математических функций. Функции, которые принадлежат объекту, называют методами и вызывают через точку:

console.log(Math.round(4.6)); // 5
МетодЧто делает4.64.2
Math.round()до ближайшего целого54
Math.floor()всегда вниз44
Math.ceil()всегда вверх55
Math.trunc()отбрасывает дробную часть44

Знаки после запятой

Метод toFixed() оставляет нужное число знаков после точки. Обратите внимание: он возвращает не число, а строку — это удобно для вывода цен:

const price = 19.987;
 
console.log(price.toFixed(2)); // 19.99

Если с результатом нужно дальше считать, превратите строку обратно в число функцией Number().

Максимум, минимум и степень

Объект Math умеет находить наибольшее и наименьшее из нескольких чисел, а также извлекать корень:

console.log(Math.max(3, 9, 4)); // 9
console.log(Math.min(3, 9, 4)); // 3
console.log(Math.sqrt(16));     // 4

Ещё один полезный метод — Math.random(): он возвращает случайное дробное число от 0 до 1 и пригодится в играх и тестах.

Infinity и NaN

Деление на ноль в JavaScript не вызывает ошибку, а даёт особое значение Infinity — бесконечность. А если вычисление не имеет смысла, получается NaN (Not a Number — «не число»):

console.log(10 / 0);    // Infinity
console.log('abc' * 2); // NaN

Проверить результат на NaN можно функцией Number.isNaN(): она возвращает true, если вычисление не удалось.

Частая ошибка

Дробные числа хранятся в памяти приближённо, поэтому простое сложение иногда даёт «лишние» цифры:

console.log(0.1 + 0.2);         // 0.30000000000000004
console.log(0.1 + 0.2 === 0.3); // false

Это особенность почти всех языков программирования, а не ошибка JavaScript. Для вывода округляйте результат через toFixed(), а деньги удобнее считать в центах — целыми числами.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.