JS判定データタイプの3つの方法
7561 ワード
JavaScriptによくあるいくつかのデータタイプ:
基本タイプ:string、number、bollan
特殊タイプ:undefined、null
引用タイプ:Object、Function、Function、Aray、Date、…
typeof
typeofはデータタイプを表す文字列を返します.結果はnumber、bolean、string、object、undefined、functionなど6種類のデータタイプが含まれます.基本的なタイプを判断するなら
instance of
instance ofは、AがBかどうかを判断するための例示的なペアであり、式はA instance of Bであり、AがBの例であれば、trueに戻り、そうでなければfalseに戻ります.ここで特に注意したいのは、instance ofがプロトタイプを検出し、
StringはObjectの元のオブジェクトの一つの方法であり、この方法はデフォルトではその調合者の具体的なタイプに戻り、より厳密には、tostring運転時にthisが指すオブジェクトタイプであり、戻るタイプは「Object、xxx」であり、xxxは具体的なデータタイプである.…基本的にすべてのオブジェクトの種類はこの方法で入手できます.
基本タイプ:string、number、bollan
特殊タイプ:undefined、null
引用タイプ:Object、Function、Function、Aray、Date、…
typeof
typeofはデータタイプを表す文字列を返します.結果はnumber、bolean、string、object、undefined、functionなど6種類のデータタイプが含まれます.基本的なタイプを判断するなら
typeof
でいいです.1
2
3
4
5
6
7
8
9
typeof ''; // string
typeof 1; // number
typeof true; //boolean
typeof undefined; //undefined
typeof null; //object
typeof [] ; //object
typeof new Function(); // function
typeof new Date(); //object
typeof new RegExp(); //object
typeofはJSベースのデータタイプに対して正確な判断を下すことができますが、参照タイプに対しては基本的にはobjectです.objectに戻るのも間違いないです.すべてのオブジェクトのプロトタイプチェーンは最終的にObjectを指しています.Objectはすべてのオブジェクトの祖先です.引用のタイプを判断すると、typeofはやや力不足に見える.instance of
instance ofは、AがBかどうかを判断するための例示的なペアであり、式はA instance of Bであり、AがBの例であれば、trueに戻り、そうでなければfalseに戻ります.ここで特に注意したいのは、instance ofがプロトタイプを検出し、
1
2
3
[] instanceof Array; //true
{} instanceof Object;//true
new Date() instanceof Date;//true
Object.prototype.toString StringはObjectの元のオブジェクトの一つの方法であり、この方法はデフォルトではその調合者の具体的なタイプに戻り、より厳密には、tostring運転時にthisが指すオブジェクトタイプであり、戻るタイプは「Object、xxx」であり、xxxは具体的なデータタイプである.…基本的にすべてのオブジェクトの種類はこの方法で入手できます.
1
2
3
4
5
6
7
8
9
10
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]