Object.prototype.toString()到底有哪些值?

Object.prototype.toString()是目前JS提供的颗粒度最小的类型判断方法,用来精确判断数据类型。如果我们把Object.prototype.toString的值全部枚举出来,也就掌握了JS所有的数据类型了,美滋滋。那么Object.prototype.toString()到底有哪些值呢?
根据ECMAScript规范,Object.prototype.toString(val)执行时,会按下面的顺序执行:
1、val的值是undefined,返回[object Undefined];
2、val的值是null,返回[object Null];
3、val是数组,返回[object Array];
4、val是String装箱而来的,返回[object String];
5、val是函数参数,返回[object Arguments];
6、val是函数,返回[object Function];
7、val是Error类型,返回[object Error];
8、val是布尔,返回[object Boolean];
9、val是数字,返回[object Number];
10、val是日期,返回[object Date];
11、val是正则,返回[object RegExp];
12、val是其他值,则返回[object 本身的@@toStingTag值];
我整理了下,object 本身的@@toStingTag值一共有下面这些:

你可能感兴趣的:(Object.prototype.toString()到底有哪些值?)