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

Ответить