JavaScriptで数値が整数かどうかチェックするには?

JavaScriptで数値が整数かどうかチェックする方法

数値が整数かどうか判断するには、Number.isIntegerメソッドを使います。 整数であればtrue、そうでなければfalseを返します。

Number.isIntegerメソッドの使い方

Number.isIntegerメソッドは、JavaScriptで数値が整数かどうかを判定するための組み込み関数です。引数として任意の数値を取り、その数値が整数であればtrueを、そうでなければfalseを返します。

基本的な使い方

以下の例は、Number.isIntegerの基本的な使い方を示しています。


    console.log(Number.isInteger(10)); // true
    console.log(Number.isInteger(10.5)); // false
    console.log(Number.isInteger("10")); // false
    console.log(Number.isInteger(NaN)); // false
    

Number.isIntegerメソッドの特徴

Number.isIntegerメソッドにはいくつかの特徴があります。

  • 数値以外の入力に対しては常にfalseを返します。
  • NaNInfinityfalseを返します。
  • 浮動小数点数には対応しておりません。

その他の整数判定方法

条件によっては他に整数かどうかを判断する方法もあります。例えば、数値の小数部分をチェックする方法があります。


    function isInteger(value) {
        return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
    }

    console.log(isInteger(10)); // true
    console.log(isInteger(10.5)); // false
    

関連する質問と回答

質問 回答
Q1: Number.isIntegerはなぜ数値以外でfalseを返すのですか? A1: Number.isIntegerは、入力が厳密に数値型であることを確認するために、数値以外の型に対してfalseを返します。
Q2: parseIntMath.floorで整数化した値を使っても同じですか? A2: これらのメソッドは数値を整数に変換しますが、元の値が整数かどうかを正確に判定するのには適しません。例えば、10.5parseIntで処理しても10に切り捨てるだけです。
Q3: このメソッドは全てのJavaScriptバージョンで利用可能ですか? A3: Number.isIntegerはES6(ECMAScript 2015)で導入されました。それ以前のバージョンでは利用できない場合があります。

その他の参考記事:javascript 数字 チェック