官方文档:带注释的 ES5
javascript中定义了7种数据类型,其中包含了6种原始的数据类型:Boolean Null Undefined Number String Symbol(ECMAScript 6 新定义)和 Object,在这7中数据类型中,除了undefined和null类型之外,都有toString方法。
表示对象的时候=>{}.toString()
返回由[object
和class
]
组成的字符串表示数组的时候=>[].toString()
返回由数组内部元素以逗号拼接的字符串,相当于Array.join(',')
。xx.toString()
直接返回字符串字面量
1.{}.toString()
2.[].toString()
不是空字符串,就是空,因为空格也是字符串
3.xx.toString()
既不是数组又不是对象,那么其余的类型就是这个版本的toString
,也就是直接返回字符串字面量
其他
Object.prototype.toString.call()
是 JavaScript 中用来判断数据类型的一种常用方法。它的主要作用是返回传入值的内部属性[[Class]]
的字符串表示,通常用来做精确的类型判断。
Object.prototype.toString(this),该方法只能判断对象类型,通过call()
方法改变其内部的this
绑定,使其能够应用于任何对象,从而判断该对象的具体类型