ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptで整数の型を判定する最も簡単な実装方法

JavaScriptで整数の型を判定する最も簡単な実装方法

高洛峰
リリース: 2016-11-02 10:23:57
オリジナル
1140 人が閲覧しました

JavaScript が typeof 演算子を提供していることはわかっているので、typeof を使用して数値型かどうかを判断するのが最も簡単です。

次のようにコードをコピーします:

1

2

3

function isNumber(obj) {

    return typeof obj === 'number'

}

ログイン後にコピー

この関数は整数と浮動小数点数については問題ありませんが、NaN 値に対しても true を返すので、結局、渡した後に NaN を使用する人はいないでしょう。 isNumber の判定。

次に、それを改善して、Object.prototype.toString を使用してみてください。

コピーコード code は以下の通りです:

1

2

3

function isNumber(obj) { 

  return Object.prototype.toString.call(obj) === '[object Number]'

  }

ログイン後にコピー

今回は、入力が非数値(NaN または NaN に変換できる値)の場合は false を返します

コピーコード code は次のように:

1

2

3

4

5

6

7

function isNumber(obj) {

    return typeof obj === 'number' && !isNaN(obj)

}

isNumber(1)   // true

isNumber(1.2) // true

isNumber(NaN) // false

isNumber( parseInt('a') ) // false

ログイン後にコピー

まあ、これは isNumber で良いですが、同等のものがあります。

を判断するには isFinite を使用してください。

次のようにコードをコピーします:

1

2

3

function isNumber(obj) {

    return typeof obj === 'number' && isFinite(obj)  

}

ログイン後にコピー

これまで、数値を判断するための最短のコードは、 3 つ目は、この記事で説明されている isNaN 関数を使用するものです。世界最短のデジタル判定 Web コードはこちらです

次のようにコードをコピーします:

1

2

3

function isNumber(obj) {

    return obj === +obj

}

ログイン後にコピー

整数と浮動小数点数の場合は true を返し、NaN または NaN に変換できる値の場合は false を返します。

わかりませんか? ぐ~~(╯﹏╰)

庭の友達は、これは世界で最も短い判定数値コードではなく、パラメータobjを1文字に変更できると言いました。 (⊙o⊙)その通りです。

同様に、JS 動的言語機能 (オペレーター操作中の自動内部型変換) を使用した同様の最短の判断があります。

次のようにコードをコピーします:

1

2

3

4

5

6

7

8

// 判断字符串

function isString(obj) {

    return obj === obj+''

}

// 判断布尔类型

function isBoolean(obj) {

    return obj === !!obj

}

ログイン後にコピー


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