Object.prototype.toString.call(1) // "[object Number]"
Object.prototype.toString.call("1") // "[object String]"
Object.prototype.toString.call(true) // "[object Boolean]"
Object.prototype.toString.call(null) // "[object Null]"
Object.prototype.toString.call(undefined) // "[object Undefined]"
Object.prototype.toString.call({}) // "[object Object"
Object.prototype.toString.call([]) // "[object Array]"