toString()方法来识别数据类型

2018-03-15  本文已影响8人  losspm

目前对于JavaScript而言有如下几种基本数据格式,分别为

Boolean
String
Number
undefined
null
Symbol

还有一种复杂的数据格式,为Object,一般在进行数据类型的判断时候,我之前一般采用的都是typeof的方法,这种方法对于stringboolean, number,undefined, 都可以非常准确获取类型,如下

typeof 32
"number"
typeof 'helloworld'
"string"
typeof true
"boolean"
typeof null
"object"

但是问题也来了,如何分辨出null和一般的JS对象呢,因为如果都用typeof的话,就无法准确识别出null和一般的JS对象,为了准确分别出每个数据类型,也就引出了如下的方式
Object.prototype.toString()
toString() 方法返回一个表示该对象的字符串,如果此方法在自定义对象中未被覆盖,toString() 返回 "[object type]",其中type是对象的类型,为了每个对象都能通过 Object.prototype.toString()来检测,需要以 Function.prototype.call()或者 Function.prototype.apply() 的形式来调用

上一篇下一篇

猜你喜欢

热点阅读