用Object.prototype.toString()来检测对象的类型
昨天遇到要检测数据类型的情况,一般可以用typeof,但只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种。
对于数组、函数、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。
不过还有种方法貌似逼格有点高,那就是Object.prototype.toString()。
具体如下
Object.prototype.toString.call(
new
Date);
// [object Date]
Object.prototype.toString.call(
new
String);
// [object String]
Object.prototype.toString.call(Math);
// [object Math]
Object.prototype.toString.call(undefined);
// [object Undefined]
Object.prototype.toString.call(
null
);
// [object Null]
括号里的参数可为任意具体数据
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步