JavaScript で変数が数値かどうかを判断する 3 つの方法 (コード付き)

青灯夜游
リリース: 2020-10-30 17:29:55
転載
11285 人が閲覧しました

JavaScript で変数が数値かどうかを判断する 3 つの方法 (コード付き)

推奨チュートリアル: 「JavaScript ビデオ チュートリアル

JavaScript は動的に型付けされた言語であり、インタプリタが実行時に実行されることを意味しますDetermine変数の型。実際、これにより、同じ変数を使用して、同じコード内に異なるタイプのデータを格納することもできます。ドキュメントと一貫性がなければ、コードを操作するときに変数の型を常に知ることができません。

変数が数値であると予想される場合、文字列または配列を操作すると、コード内で奇妙な結果が生じる可能性があります。この記事では、変数が数値かどうかを判断する関数をいくつか紹介します。

"10" のような数字の文字列は受け入れられません。 JavaScript では、NaNInfinity-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() 関数は、変数が数値であるかどうかをチェックし、また、変数が 有限値 であるかどうかもチェックします。したがって、NaNInfinity、または -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 演算子 #! を使用します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&gt; !Number.isNaN(intVar); true &gt; !Number.isNaN(floatVar); true &gt; !Number.isNaN(stringVar); true # Wrong &gt; !Number.isNaN(nanVar); false &gt; !Number.isNaN(infinityVar); true # Wrong &gt; !Number.isNaN(nullVar); true # Wrong &gt; !Number.isNaN(undefinedVar); true # Wrong</pre><div class="contentsignin">ログイン後にコピー</div></div>このメソッドは、数値ではない値を受け入れるため、非常に寛容です。このアプローチは、一般的な数値チェックではなく、数値があることがわかっていて、それが

NaN

値であるかどうかをチェックしたい場合に最も効果的です。

typeof() メソッドを使用します

typeof()

関数は変数または値を受け入れるグローバル関数ですパラメータとして指定し、その型の文字列表現を返します。 JavaScript には、合計 9

未定義
  • boolean
  • number
  • string
  • があります。 bigint
  • symbol
  • object
  • null (typeof() は
  • object
  • を表示します)function (特殊なタイプのオブジェクト)
  • 変数が数値であるかどうかを確認するには、
typeof()

によって返された値が `"number" であるかどうかを確認するだけです。テスト変数で試してみましょう。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&gt; typeof(intVar) == 'number'; true &gt; typeof(floatVar) == 'number'; true &gt; typeof(stringVar) == 'number'; false &gt; typeof(nanVar) == 'number'; true # Wrong &gt; typeof(infinityVar) == 'number'; true # Wrong &gt; typeof(nullVar) == 'number'; false &gt; typeof(undefined) == 'number'; false</pre><div class="contentsignin">ログイン後にコピー</div></div>

typeof()

この関数のパフォーマンスは、Number.isNaN() よりもはるかに優れています。文字列変数 nullunknown が数値ではないことを正しく判断します。ただし、NaN および Infinity の場合は、true を返します。 これは技術的には正しい結果ですが、

NaN

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート