Кратко
СкопированоМетод Number позволяет проверить, является ли переданное в аргументе число конечным. Конечным числом можно считать любое число, кроме бесконечности и NaN. В JavaScript бесконечность можно выразить только с помощью глобального Infinity или полей и .
В JavaScript есть так же глобальная функция is, которая работает аналогичным образом, но преобразует переданный аргумент в число.
Пример
Скопировано
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 = Infinityconsole.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