js进行类型判断 Object.prototype.toString.call()

这篇文章主要讲解 js进行类型判断 Object.prototype.toString.call()

首先看一段ECMA中对Object.prototype.toString的解释:
Object.prototype.toString( )
When the toString method is called, the following steps are taken:

  1. Get the [[Class]] property of this object.
  2. Compute a string value by concatenating the three strings “[object “, Result (1), and “]”.
  3. Return Result (2)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var oP = Object.prototype,
    toString = oP.toString;

    console.log(toString.call([123]));//[object Array]
    console.log(toString.call('123'));//[object String]
    console.log(toString.call({a: '123'}));//[object Object]
    console.log(toString.call(/123/));//[object RegExp]
    console.log(toString.call(123));//[object Number]
    console.log(toString.call(undefined));//[object Undefined]
    console.log(toString.call(null));//[object Null]