Basics
Десятичные числа
В JavaScript целые десятичные числа записываются как последовательность цифр. Например:
Числовой формат JavaScript позволяет точно представлять все целые числа в диапазоне от –9007199254740992 (–253) до 9007199254740992 (253) включительно. Для целых значений вне этого диапазона может теряться точность в младших разрядах.
Обратите внимание, что десятичные литералы могут начинаться с нуля (0
), за которым следует другая десятичная цифра, но если следующая за нулем цифра меньше 8, то число обрабатывается как восьмеричное.
Двоичные числа
Синтаксис двоичных чисел использует ведущий 0, за которым следует латинская буква "B" в верхнем или нижнем регистре (0b
or0B
). Если цифры после 0b
не являются 0 или 1, то будет сгенерировано SyntaxError
с сообщением: "Missing binary digits after 0b".
Восьмеричные числа
Синтаксис восьмеричных чисел использует ноль в начале. Если цифры после 0 не входят в диапазон от 0 до 7, число будет интерпретировано как десятичное.
Шестнадцатеричные числа
Синтаксис шестнадцатеричных чисел использует ведущий 0, за которым следует латинская буква "X" в верхнем или нижнем регистре (0x
or0X
). Если цифры после 0x не входят в диапазон (0123456789ABCDEF), то будет сгенерировано SyntaxError
с сообщением: "Identifier starts immediately after numeric literal".
Операции с числами
Для работы с числами в JavaScript-программах используются поддерживаемые языком арифметические операторы, к которым относятся операторы сложения (+), вычитания (-), умножения (*) и деления (/). Помимо перечисленных основных арифметических операторов, с помощью большого количества математических функций, относящихся к базовой части языка, JavaScript поддерживает выполнение более сложных математических операций . Для удобства эти функции хранятся в виде свойств одного объекта Math, и для доступа к ним всегда используется литеральное имя Math.
Преобразование чисел в строки
Преобразование чисел в строки производится автоматически, по мере необходимости. Например, если число используется в операции конкатенации строк, оно будет преобразовано в строку:
Такая способность JavaScript к автоматическому преобразованию числа в строку реализует идиому программирования, которую часто можно встретить на практике: чтобы преобразовать число в строку, достаточно просто сложить его с пустой строкой:
Для явного преобразования числа в строку используется функция String()
:
Еще один способ преобразования числа в строку заключается в вызове метода toString()
:
Метод toString() объекта Number (примитивы чисел автоматически преобразуются в объекты типа Number, благодаря чему можно воспользоваться этим методом) может принимать один необязательный аргумент, который определяет базу или основание, системы счисления для преобразования. Если основание системы счисления не указывается, то по умолчанию она предполагается равной 10. Однако существует возможность выполнять преобразования и в других системах исчисления (от 2 до 36)1, например:
Специальные числовые значения
В JavaScript определено несколько специальных числовых значений. Когда вещественное число превышает самое большое представимое конечное значение, результату присваивается специальное значение бесконечности, которое в JavaScript обозначается как Infinity
. А когда отрицательное число становится меньше наименьшего представимого отрицательного числа, результатом является отрицательная бесконечность, обозначаемая как Infinity
.
Еще одно специальное числовое значение возвращается JavaScript, когда математическая операция (например, деление нуля на ноль) приводит к неопределенному результату или ошибке. В этом случае результатом является специальное значение «не число», обозначаемое как NaN. «Не число» (Not a Number) ведет себя необычно: оно не равно ни одному другому числу, в том числе и самому себе! По данной причине для проверки на это значение имеется специальная функция isNaN(). Похожая функция, isFinite(), позволяет проверить число на неравенство NaN или положительную/отрицательную бесконечность.
Константа
Значение
Infinity
Специальное значение, обозначающее бесконечность
NaN
Специальное значение – «не число»
Number.MAX_VALUE
Максимально представимое значение
Number.MIN_VALUE
Наименьшее представимое значение
Number.NaN
Специальное значение – «не число»
Number.POSITIVE_INFINITY
Специальное значение, обозначающее плюс бесконеч ность
Number.NEGATIVE_INFINITY
Специальное значение, обозначающее минус бесконеч ность
Last updated