判定 JS 数据类型的最佳解决方案

Object.prototype.toString()

Object.prototype.toString.call({})              
// '[object Object]'
Object.prototype.toString.call([])              
// '[object Array]'
Object.prototype.toString.call(() => {})        
// '[object Function]'
Object.prototype.toString.call('hello')        
// '[object String]'
Object.prototype.toString.call(null)            
// '[object Null]'
Object.prototype.toString.call(undefined)       
// '[object Undefined]'

 

封装成一个方法

为了更加方便的使用Object.prototype.toString(),我们可以对其进行一个简单的封装:

var type = function(data) {
      var toString = Object.prototype.toString;
      var dataType = toString
              .call(data)
              .replace(/\[object\s(.+)\]/, "$1")
              .toLowerCase()
      return dataType
};

  

posted @ 2020-05-22 13:35  听见下雨声  阅读(181)  评论(0编辑  收藏  举报