ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で変数が数値かどうかを判断する 3 つの方法 (コード付き)
推奨チュートリアル: 「JavaScript ビデオ チュートリアル 」
JavaScript は動的に型付けされた言語であり、インタプリタが実行時に実行されることを意味しますDetermine変数の型。実際、これにより、同じ変数を使用して、同じコード内に異なるタイプのデータを格納することもできます。ドキュメントと一貫性がなければ、コードを操作するときに変数の型を常に知ることができません。
変数が数値であると予想される場合、文字列または配列を操作すると、コード内で奇妙な結果が生じる可能性があります。この記事では、変数が数値かどうかを判断する関数をいくつか紹介します。
"10"
のような数字の文字列は受け入れられません。 JavaScript では、NaN
、Infinity
、-Infinity
などの特殊な値も数値型です。
これらの要件に基づくと、使用するのに最適な関数は、組み込みの Number
オブジェクトの isFinite()
関数です。ただし、開発者は、Number.isNaN()
関数や typeof()
関数などの他の関数を使用することがよくあります。
最初にいくつかの変数を作成しましょう:
let intVar = 2; let floatVar = 10.5; let stringVar = '4'; let nanVar = NaN; let infinityVar = Infinity; let nullVar = null; let undefinedVar = undefined;
Number.isFinite() 関数名
Number を使用します。 isFinite()
関数は、変数が数値であるかどうかをチェックし、また、変数が 有限値 であるかどうかもチェックします。したがって、NaN
、Infinity
、または -Infinity
の場合、false
が返されます。
上記で定義した変数を使用して確認してみましょう:
> Number.isFinite(intVar); true > Number.isFinite(floatVar); true > Number.isFinite(stringVar); false > Number.isFinite(nanVar); false > Number.isFinite(infinityVar); false > Number.isFinite(nullVar); false > Number.isFinite(undefined); false
これはまさに私たちが望んでいることです。特殊な非有限数値と非数値型の変数は無視されます。したがって、変数が数値かどうかを確認したい場合、最良の方法は Number.isFinite()
関数を使用することです。
Number.isNaN() メソッドを使用する
標準の Number
オブジェクトには isNaN() があります。 ## #方法。パラメーターを受け入れ、その値が
NaN であるかどうかを判断します。変数が数値であるかどうかをチェックしたいため、チェックでは not 演算子 #!
を使用します。 <pre class="brush:php;toolbar:false">> !Number.isNaN(intVar);
true
> !Number.isNaN(floatVar);
true
> !Number.isNaN(stringVar);
true # Wrong
> !Number.isNaN(nanVar);
false
> !Number.isNaN(infinityVar);
true # Wrong
> !Number.isNaN(nullVar);
true # Wrong
> !Number.isNaN(undefinedVar);
true # Wrong</pre>
このメソッドは、数値ではない値を受け入れるため、非常に寛容です。このアプローチは、一般的な数値チェックではなく、数値があることがわかっていて、それが
値であるかどうかをチェックしたい場合に最も効果的です。
typeof() メソッドを使用します
typeof()関数は変数または値を受け入れるグローバル関数ですパラメータとして指定し、その型の文字列表現を返します。 JavaScript には、合計 9
型
function (特殊なタイプのオブジェクト) によって返された値が `"number" であるかどうかを確認するだけです。テスト変数で試してみましょう。 <pre class="brush:php;toolbar:false">> typeof(intVar) == 'number';
true
> typeof(floatVar) == 'number';
true
> typeof(stringVar) == 'number';
false
> typeof(nanVar) == 'number';
true # Wrong
> typeof(infinityVar) == 'number';
true # Wrong
> typeof(nullVar) == 'number';
false
> typeof(undefined) == 'number';
false</pre>
この関数のパフォーマンスは、Number.isNaN()
よりもはるかに優れています。文字列変数 null
と unknown
が数値ではないことを正しく判断します。ただし、NaN
および Infinity
の場合は、true
を返します。 これは技術的には正しい結果ですが、
と Infinity
は特別な数値であり、ほとんどのユースケースでは無視することをお勧めします。
#この記事では、JavaScript で変数が数値であるかどうかを確認する方法を学びました。 Number.isNaN() 関数は、変数が数値であることがわかっていて、それが
NaN` であるかどうかを確認する必要がある場合にのみ適用されます。 コード内に
NaN
Infinity、または
-Infinity およびその他の数値がある場合、typeof()` 関数が適用されます。
Number.isFinite()
元のアドレス: https://stackabuse.com/javascript-check-if-variable-is-a-number/
著者: Marcus Sanatanをご覧ください。 !プログラミング入門
プログラミング関連の知識について詳しくは、
以上がJavaScript で変数が数値かどうかを判断する 3 つの方法 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。