LuckyWinty / fe-weekly-questions

A pro to record some interview questions every week...
MIT License
342 stars 34 forks source link

如何封装一个 javascript 的类型判断函数? #81

Open LuckyWinty opened 3 years ago

LuckyWinty commented 3 years ago
function getType(value) { 
  // 判断数据是 null 的情况 
  if (value === null) { 
      return value + ""; 
  }
  // 判断数据是引用类型的情况 
  if (typeof value === "object") { 
    let valueClass = Object.prototype.toString.call(value), 
    type = valueClass.split(" ")[1].split(""); 
    type.pop(); 
    return type.join("").toLowerCase();
  } else { 
    // 判断数据是基本数据类型的情况和函数的情况 
    return typeof value
  }
}
AdamZero commented 3 years ago

处理那一块建议换成 return Object.prototype.toString.call(value).slice(8,-1)