JS 运用toString()方法获取数据类型的工具函数

使用 toString() 来检测对象的类型

function typeOf(obj) {
  // 返回的字符串格式为:"[object Typexxx]"
  const typeValue = Object.prototype.toString.call(obj);
  // 截取字符串中的类型描述字符,从空白符索引至倒数第一位索引之前
  const typeString = typeValue.slice(typeValue.indexOf(' ') + 1, -1);
  return typeString.toLowerCase();
}

如果觉得上述 typeOf 函数返回的一个字符串,判断起来不够方便,也可以对其进行2次封装:

const isDate = date => typeOf(date) === 'date';

const isSymbol = symbol => typeOf(symbol) === 'symbol';

const isMap = map => typeOf(map) === 'map';

const isFunc = func => typeOf(func) === 'function';

 

注意:不要用此函数来判断 自定义类的实例 的类型

posted @ 2022-03-31 10:44  樊顺  阅读(80)  评论(0编辑  收藏  举报