Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. 標準組み込みオブジェクト
  5. Number
  6. isInteger()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

Number.isInteger()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年9月⁩.

Number.isInteger() は静的メソッドで、渡された値が整数かどうかを判定します。

試してみましょう

function fits(x, y) {  if (Number.isInteger(y / x)) {    return "Fits!";  }  return "Does NOT fit!";}console.log(fits(5, 10));// 予想される結果: "Fits!"console.log(fits(5, 11));// 予想される結果: "Does NOT fit!"

構文

js
Number.isInteger(value)

引数

value

整数かどうかを判定される値です。

返値

論理値で、渡された値が整数であればtrue です。それ以外の場合はfalse です。

解説

指定された値が整数の場合はtrue を返し、そうでない場合はfalse を返します。NaN もしくはInfinity の場合もfalse を返します。このメソッドは整数として表すことができる浮動小数点数もtrue を返します。値が数値でない場合は常にfalse を返します。

数値リテラルの中には、ECMAScript の浮動小数点数エンコーディング (IEEE-754) の精度制限により、整数でないように見えても実は整数を表しているものがあることに注意してください。例えば、5.000000000000000151e-16 だけ異なりますが、これは小さすぎて表しきれません。(参考までに、Number.EPSILON は、1 と 1 より大きい次の表現可能な浮動小数点数の間の距離を格納しており、それはおよそ2.22e-16 です)。したがって、5.00000000000000015 と同じエンコーディングで表されますので、Number.isInteger(5.000000000001)true を返すことになります。

同様の意味で、Number.MAX_SAFE_INTEGER の大きさ前後の数値は精度を失い、整数でなくてもNumber.isIntegertrueを返すようになる。(実際の閾値は、10 進数を表すのに何ビット必要かによって変わります。例えば、Number.isInteger(450000000000.1)true ですが、Number.isInteger(450000000000.5)false です。)

isInteger の使用

js
Number.isInteger(0); // trueNumber.isInteger(1); // trueNumber.isInteger(-100000); // trueNumber.isInteger(99999999999999999999999); // trueNumber.isInteger(0.1); // falseNumber.isInteger(Math.PI); // falseNumber.isInteger(NaN); // falseNumber.isInteger(Infinity); // falseNumber.isInteger(-Infinity); // falseNumber.isInteger("10"); // falseNumber.isInteger(true); // falseNumber.isInteger(false); // falseNumber.isInteger([1]); // falseNumber.isInteger(5.0); // trueNumber.isInteger(5.000000000000001); // falseNumber.isInteger(5.0000000000000001); // true(精度が落ちるため)Number.isInteger(4500000000000000.1); // true(精度が落ちるため)

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-number.isinteger

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp