数据类型的判断 --Object.prototype.toString.call(obj)精准检测对象类型
生活随笔
收集整理的這篇文章主要介紹了
数据类型的判断 --Object.prototype.toString.call(obj)精准检测对象类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據類型的判斷 typeof
typeof返回一個表示數據類型的字符串,返回結果包括:number、boolean、string、symbol、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 無效數據類型的判斷 instanceof
instanceof 是用來判斷A是否為B的實例,表達式為:A instanceof B,如果A是B的實例,則返回true,否則返回false。instanceof 運算符用來測試一個對象在其原型鏈中是否存在一個構造函數的 prototype 屬性,但它不能檢測null 和 undefined
[] instanceof Array; //true {} instanceof Object;//true new Date() instanceof Date;//true new RegExp() instanceof RegExp//true null instanceof Null//報錯 undefined instanceof undefined//報錯嚴格運算符===
只能用于判斷null和undefined,因為這兩種類型的值都是唯一的。
constructor
constructor作用和instanceof非常相似。但constructor檢測 Object與instanceof不一樣,還可以處理基本數據類型的檢測。
細節問題
Object.prototype.toString.call()
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]轉載于:https://www.cnblogs.com/whkl-m/p/10670402.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的数据类型的判断 --Object.prototype.toString.call(obj)精准检测对象类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: project5 大数据
- 下一篇: 13.Git分支-变基(rebase)、