Кратко
СкопированоМетод 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 = 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