Number.isInteger() – JavaScript

Метод Number.isInteger()
проверяет, является ли переданное значение целым числом или нет. Метод isInteger()
возвращает значение true, если предоставленное значение является целым числом или числом типа. В противном случае он возвращает значение false.
Синтаксис
Number.isInteger(value)
Параметры:
Значение: метод isInteger()
принимает единственное значение параметра, которое нужно проверить, и его обязательный параметр
Возвращаемое значение: метод Number.isInteger()
возвращает логическое значение, т. е. возвращает значение true, если переданное значение – целое число. В противном случае он возвращает значение false. Если значение равно NaN или Infinity, оно возвращает значение false.
Метод isInteger()
возвращает значение true, если вы передаёте числа с плавающей запятой, которые могут быть представлены в виде целого числа.
Рассмотрим несколько примеров, иллюстрирующих метод Number.isInteger()
.
Передаём положительное число в качестве аргумента
Если вы передадите функции в качестве аргумента положительное значение, то она вернёт значение true. Если переданное значение нецелочисленное, то мы получим значение false.
console.log(Number.isInteger(77))
Вывод
true
Передаём отрицательное число в качестве аргумента
Если мы передадим функции отрицательное значение в качестве аргумента, то она вернёт значение true. Если переданное значение нецелочисленное, то она вернёт значение false.
console.log(Number.isInteger(-77))
console.log(Number.isInteger(-1.3))
Вывод
true
false
Передаём нуль в качестве аргумента
Если мы передадим нуль в качестве аргумента методу Number.isInteger()
, он вернёт значение true, так как 0 – допустимое целое число.
console.log(Number.isInteger(0))
Вывод
true
Передаём числа с плавающей запятой в качестве аргумента
Если передадим функции плавающее или десятичное значение в качестве аргумента, она вернёт значение false, поскольку это недопустимое целое число.
console.log(Number.isInteger(34.33))
console.log(Number.isInteger(-1.4))
Вывод
false
false
Передаём число с плавающей запятой целочисленного формата в качестве аргумента
Если передать плавающее или десятичное значение, представляющее целое число, метод isInteger()
вернёт значение true, поскольку он считает его допустимым целым числом.
console.log(Number.isInteger(5.0))
console.log(Number.isInteger(5.0000000))
console.log(Number.isInteger(-12.0000000))
console.log(Number.isInteger(-5.000000000000001))
console.log(Number.isInteger(-5.0000000000000001))
console.log(Number.isInteger(-1.4))
Вывод
true
true
true
false
true
false
Передаём строки в качестве аргумента
Если передать строку в качестве аргумента методу Number.isInteger()
, он вернёт значение false. Даже если вы передадите целое число в строковом формате, метод вернёт значение false, так как он не может проанализировать строковое значение.
console.log(Number.isInteger('hello'))
console.log(Number.isInteger('55'))
Вывод
false
false
Передаём NaN, Infinity, Boolean в качестве аргумента
Если передать NaN, Infinity, Boolean в качестве аргумента методу Number.isInteger()
, он вернёт значение false.
console.log(Number.isInteger(NaN))
console.log(Number.isInteger(Infinity))
console.log(Number.isInteger(-Infinity))
console.log(Number.isInteger(true))
console.log(Number.isInteger(false))
Вывод
false
false
false
false
false
Polyfill для Number.isInteger()
Если ищете Polyfill, а ваш браузер не поддерживается, можете использовать приведённый ниже код.
Number.isInteger = Number.isInteger || function(value) {
return typeof value === 'number' &&
isFinite(value) &&
Math.floor(value) === value;
};
Поддерживаемые браузеры:
- Google Chrome: 34
- Edge: 12
- Internet Explorer: Not Supported
- Firefox: 16
- Apple Safari: 09
- Opera: 21