JavaScriptのNumber.isInteger()関数とは?整数判定の基本と使い方
Number.isInteger()は、引数に渡した値が整数かどうかを判定できるNumberオブジェクトの静的メソッドです。値が整数であればtrueを返し、小数・無限大・NaN・文字列など整数以外の値に対してはfalseを返します。
なお、100/0のようなゼロ除算の計算結果はInfinity(無限大)になるため、この値を渡すとfalseが返されます。
構文
Number.isInteger(判定したい値)
使用例1:無限大が整数かどうかを判定する
次のコードでは、100/0の計算結果が整数かどうかを判定し、結果に応じて表示するメッセージを切り替えています。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var result = Number.isInteger(100/0);
if(result) {
document.write("渡された値は整数です");
} else {
document.write("渡された値は整数ではありません");
}
</script>
</body>
</html>
実行結果
渡された値は整数ではありません
使用例2:さまざまな値を判定する
引数には正の整数・負の整数・ゼロ・文字列など、さまざまな値を渡せます。それぞれの判定結果を見てみましょう。
<html>
<head>
<title>JavaScript Example</title>
</head>
<body>
<script type="text/javascript">
var result1 = Number.isInteger(45);
document.write(result1);
document.write("<br>");
var result2 = Number.isInteger(-38);
document.write(result2);
document.write("<br>");
var result3 = Number.isInteger(0);
document.write(result3);
document.write("<br>");
var result4 = Number.isInteger("Tutorialspoint");
document.write(result4);
</script>
</body>
</html>
実行結果
true true true false
正負の整数やゼロはtrueになりましたが、文字列「Tutorialspoint」は数値型ではないためfalseと判定されました。見た目が数字でも、データ型が違えば整数とはみなされない点に注意してください。
戻り値の早見表
| 引数の値 | 戻り値 | 理由 |
|---|---|---|
| 45 | true | 正の整数だから |
| -38 | true | 負の数も整数に含まれる |
| 0 | true | ゼロも整数 |
| 10.5 | false | 小数は整数ではない |
| Infinity | false | 無限大は整数ではない |
| NaN | false | 非数(Not a Number)だから |
| "123" | false | 文字列型は数値型ではない |
Number.isInteger()とNumber.isFinite()の違い
名前がよく似たメソッドにNumber.isFinite()があります。isFinite()は「有限の数値かどうか」を判定するメソッドで、小数もtrueになります。一方、isInteger()は「整数かどうか」を判定するため、小数はfalseです。「有限の数なら何でもよい」場合はisFinite()を、「きっちり整数だけを判定したい」場合はisInteger()を使い分けるとよいでしょう。
利用時の注意点
Number.isInteger()はECMAScript 2015(ES6)で追加されたメソッドのため、Internet Explorerなど非常に古いブラウザでは利用できません。- 単体のグローバル関数としては存在しないため、必ず
Number.を付けて呼び出します。 - 「123」のような数字に見える文字列も、型が文字列であれば
falseになります。必要に応じてNumber()などで型変換してから判定しましょう。
-
JavaScriptのTypedArray.entries()関数とは?使い方とサンプルコードを解説
TypedArray.entries()関数とはentries()は、TypedArray(型付き配列)オブジェクトが持つメソッドの一つで、その型付き配列のキー(インデックス)と値(要素)のペアを順番に取り出せる新しいArray Iteratorオブジェクトを返します。このイテレーターを利用することで、配列内の各要素だけでなく、その要素が配列のどの位置(インデックス)にあるのかも同時に取得できます。戻り値の各要素は「[インデックス, 値]」という形式の配列になっています。構文typedArray.entries()このメソッドは引数を受け取らず、呼び出すだけで新しいイテレーターオブジェクトを返
-
JavaScriptのNumber()関数とは?使い方とサンプルコードを解説
JavaScriptのNumber()関数は、引数として渡された値やオブジェクトを、それに対応する数値へ変換するための関数です。真偽値や文字列型の数字、さらにはDateオブジェクトなども数値に変換できるため、データ型の変換処理において非常に便利な組み込み関数の一つです。例えば、Number(true)は「1」、Number(false)は「0」を返します。また、数字のみで構成された文字列「149」を渡せば数値の149に変換され、new Date()で生成した日付オブジェクトを渡すと、1970年1月1日からの経過ミリ秒数が返されます。以下に、Number()関数の動作を確認できるサンプルコードを