js 精确判断对象类型,Object.prototype.toString

在JavaScript中,通常我们会用 typeof 来判断数据类型,但只能区分numberstringundefinedbooleanfunctionsymbolobject这些基本类型。
对应数组、null,对象,都是统一返回 object字符串。
想要准确的返回类型,就要使用javaScript中的Object.prototype.toString方法

console.log(Object.prototype.toString.call(123));    //[object Number]
console.log(Object.prototype.toString.call('123'));    //[object String]
console.log(Object.prototype.toString.call(undefined));    //[object Undefined]
console.log(Object.prototype.toString.call(true));    //[object Boolean]
console.log(Object.prototype.toString.call({}));    //[object Object]
console.log(Object.prototype.toString.call([]));    //[object Array]
console.log(Object.prototype.toString.call(function(){}));    //[object Function]
console.log(Object.prototype.toString.call(null));    //[[object Null]]
posted @ 2021-11-24 14:07  春风一笑  阅读(281)  评论(0)    收藏  举报