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

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

PHPz
リリース: 2018-09-30 13:38:17
オリジナル
1499 人が閲覧しました

この記事では、JavaScript で整数型を判定するための最も簡単な実装方法を主に紹介し、最後に最も短く簡潔な実装方法をまとめます。

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

function isNumber(obj) {
    return typeof obj === 'number'
}
ログイン後にコピー

この関数は整数と浮動小数点数には問題ありませんが、NaN 値に対しても true を返すため、NaN を使用した後は誰も NaN を使って算術演算を行うことはなくなります。判定する数値です。

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

function isNumber(obj) {
    return Object.prototype.toString.call(obj) === '[object Number]'
}
ログイン後にコピー

typeof の判定と同様、NaN の場合も true を返しますが、やはりコード量が多く、望ましい結果とはなりません。 toString.call メソッドは配列 (Array) を判定するのには適していますが、数値はその能力を超えています。

さらなる改善として、isNaN 関数を使用して NaN 値を処理します。

function isNumber(obj) {
    return typeof obj === 'number' && !isNaN(obj)
}
ログイン後にコピー

今回は、渡されたものが非数値(NaN または NaN に変換できる値)の場合は false が返されます

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 を使用して

function isNumber(obj) {
    return typeof obj === 'number' && isFinite(obj)    
}
ログイン後にコピー

を判断する同等の方法があります。これまで、最短コードの数値判断は、この記事で説明した 3 番目の方法です。 isNaN関数です。以下は、世界最短の数値判定コードをグランドローンチします

function isNumber(obj) {
    return obj === +obj
}
ログイン後にコピー

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

理解できないのですか? ぐ~~(╯﹏╰)

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

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

// 判断字符串
function isString(obj) {
    return obj === obj+''
}
// 判断布尔类型
function isBoolean(obj) {
    return obj === !!obj
}
ログイン後にコピー

上記はこの章の全内容です。その他の関連チュートリアルについては、JavaScript ビデオ チュートリアル をご覧ください。

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