データ型を判断する5つの方法

1. typeof

  • データ型を判別でき、データ型を表す文字列を返します(返される結果には、数値、ブール値、文字列、関数、オブジェクト、未定義のみを含めることができます);
  • typeofを使用して、変数が存在するかどうかを判別できます(if(typeof a!= "Undefined"){...}など)。
  • Typeof演算子の問題は、参照されるオブジェクトのタイプに関係なくオブジェクトを返すことです。
typeof {} // オブジェクト
typeof   [1,2] // オブジェクト
typeof / \ s / // オブジェクト

2.instanceof

A instanceof Bは、AがBのインスタンスであるかどうかを判別し、ブール値を返すため、原理はデータ型は構築型によって決定されます。

console.log(arr instanceof Array); // true 
console.log(date instanceof Date); // true 
console.log(fn instanceof Function); // true 
// 注:instanceofの後には、大文字と小文字ではなくオブジェクトタイプを指定する必要があります誤って、このメソッドはいくつかの条件付き選択または分岐を試みます

3. Objectの下のtoString.call()メソッドで判断する

Object.prototype.toString.call(); 
console.log(toString.call( 123)); // [オブジェクト番号] 
console.log(toString.call( '123')); // [オブジェクト文字列] 
console.log(toString.call(undefined)); // [オブジェクト未定義] 
console.log(toString.call(true)); // [オブジェクトブール] 
console.log(toString.call({})); // [オブジェクトオブジェクト] 
console.log(toString.call([])); // [オブジェクト配列] 
console.log(toString.call(function(){})); // [オブジェクト関数]

4.オブジェクトの構築者による判断

console.log( '数据类型判断'-   コンストラクタ); 
console.log(arr.constructor === Array); // true 
console.log(date.constructor === Date); // true 
console.log(fn.constructor === Function); // true

5.データ型を判別するJQメソッド

jQueryは、JavaScriptのネイティブのtypeof演算子の欠点を補うためにデータ型を決定する一連のツールメソッドを提供します。次のメソッドはパラメーターを判断し、ブール値を返します。
jQuery.isArray();それが配列かどうか
jQuery.isEmptyObject();それが空のオブジェクトかどうか(列挙可能なプロパティなし)。
jQuery.isFunction():関数かどうか
jQuery.isNumberic():数値かどうか
jQuery.isPlainObject():「{}」または「新しいオブジェクト」を使用して生成されたオブジェクトかどうか。ブラウザによってネイティブに提供されるオブジェクトではありません。
jQuery.isWindow():ウィンドウオブジェクトであるかどうか、
jQuery.isXMLDoc():DOMノードがXMLドキュメント内にあるかどうかを判断します。


著者:8d2855a6c5d0
リンクします。https://www.jianshu.com/p/967d6db70437
出典:ジェーンの本

おすすめ

転載: www.cnblogs.com/passkey/p/12757589.html