JavaScriptデータタイプのいくつかの判断方法

1626 ワード

JSデータタイプの判断には主に3つの方法があります.typeof、instance of、Object.prototype.toString.call()
1、typeof
データの種類を示す文字列を返します.返した結果はnumber、bollan、string、smbol、object、undefined、functionなど7種類のデータタイプが含まれますが、null、arrayなどは判断できません.
typeof Symbol(); // symbol   
typeof ''; // string   
typeof 1; // number   
typeof true; //boolean   
typeof undefined; //undefined   
typeof new Function(); // function   
typeof null; //object   
typeof [] ; //object   
typeof new Date(); //object   
typeof new RegExp(); //object   
2、instance of
AがBであるかどうかを判断するための例として、A instanceof Bは、ブーメラン値を返します.instance ofは、オブジェクトがそのプロトタイプチェーンにプロトタイプ属性があるかどうかをテストしますが、nullとundefinedは検出できません.
[] instanceof Array; //true
{} instanceof Object;//true
new Date() instanceof Date;//true
new RegExp() instanceof RegExp//true
null instanceof Null//  
undefined instanceof undefined//  
3、Object.prototype.toString.call()
一般的なデータの種類はすべて判断することができて、最も正確で最も常用する1種.
Object.prototype.toString.call('') ;   // [object String]
Object.prototype.toString.call(1) ;    // [object Number]
Object.prototype.toString.call(true) ; // [object Boolean]
Object.prototype.toString.call(undefined) ; // [object Undefined]
Object.prototype.toString.call(null) ; // [object Null]
Object.prototype.toString.call(new Function()) ; // [object Function]
Object.prototype.toString.call(new Date()) ; // [object Date]
Object.prototype.toString.call([]) ; // [object Array]
Object.prototype.toString.call(new RegExp()) ; // [object RegExp]
Object.prototype.toString.call(new Error()) ; // [object Error]