typeof
返回一个值的基本数据类型,但对于引用类型的数据都返回 object
typeof 可以判断除了 null 和 数组 以外的数据类型
1 | typeof null // object |
instanceof
说到 instanceof 需要先提一下 Object.constructor 属性,对象的 constructor 属性 指向 改对象的构造函数。
1 | function Person() {} |
但是 constructor 的指向也是可以认为变更的,它不一定始终指向它的构造函数
Object.prototype.toString.call()
通过这个方法能判断所有类型, 注意下返回 字符串的大小写就可以了
1 | Object.prototype.toString.call([]); // [object Array] |