Кратко
Секция статьи "Кратко"Метод Number
позволяет проверить, является ли переданное в аргументе число конечным. Конечным числом можно считать любое число, кроме бесконечности и NaN
. В JavaScript бесконечность можно выразить только с помощью глобального Infinity
или полей Number
и Number
.
В JavaScript есть так же глобальная функция isFinite
, которая работает аналогичным образом, но преобразует переданный аргумент в число.
Пример
Секция статьи "Пример"Number.isFinite(3.14) // trueNumber.isFinite(10e5) // trueNumber.isFinite(0) // trueNumber.isFinite(-Infinity) // falseNumber.isFinite([]) // falseNumber.isFinite("Двадцать пять") // false// Использование глобальной функции isFiniteisFinite("Сорок") // falseisFinite(50) // trueisFinite("101") // trueisFinite("10e3") // true
Number.isFinite(3.14) // true Number.isFinite(10e5) // true Number.isFinite(0) // true Number.isFinite(-Infinity) // false Number.isFinite([]) // false Number.isFinite("Двадцать пять") // false // Использование глобальной функции isFinite isFinite("Сорок") // false isFinite(50) // true isFinite("101") // true isFinite("10e3") // true
Как это понять
Секция статьи "Как это понять"В математике конечным числом можно считать по сути любое число, потому что у числа есть конечное значение. Только у бесконечностей нет фиксированного и конечного значения. Метод Number
позволяет проверить это свойство у переданного числа.
Как пишется
Секция статьи "Как пишется"Метод Number
принимает только один аргумент – число, которое нужно проверить. Для любого нечислового значения метод вернёт false
.
Number.isFinite("123") // false потому что передана строкаNumber.isFinite({}) // false потому что передан объектNumber.isFinite(Infinity) // false потому что передали бесконечностьNumber.isFinite(NaN) // false потому что передали не числоNumber.isFinite(123) // true, т.к передали обычное числоNumber.isFinite(-456) // true, отрицательные числа тоже конечные
Number.isFinite("123") // false потому что передана строка Number.isFinite({}) // false потому что передан объект Number.isFinite(Infinity) // false потому что передали бесконечность Number.isFinite(NaN) // false потому что передали не число Number.isFinite(123) // true, т.к передали обычное число Number.isFinite(-456) // true, отрицательные числа тоже конечные
Если возникает необходимость работать с бесконечностью, то в глобальном объекте Number
имеются удобные ссылки на бесконечности с разными знаками.
Number.POSITIVE_INFINITY === Infinity // trueNumber.NEGATIVE_INFINITY === -Infinity // true
Number.POSITIVE_INFINITY === Infinity // true Number.NEGATIVE_INFINITY === -Infinity // true
На практике
Секция статьи "На практике"🛠 Number
можно использовать для того, чтобы проверить что значение в переменной является обычным конечным числом. Так как бесконечность тоже является числом, то проверка с помощью typeof
вернёт "number"
. Но чаще всего мы не хотим работать в программе с бесконечными числами, потому что с ними нельзя провести математические операции.
const inf = Infinity;console.log(typeof Infinity === "number") // true// Проверка поможет отсеять бесконечные числаconsole.log(Number.isFinite(inf)) // false
const inf = Infinity; console.log(typeof Infinity === "number") // true // Проверка поможет отсеять бесконечные числа console.log(Number.isFinite(inf)) // false