1、通过constructor可以直接找到元素的构造函数类型,这种方法能够区分数据类型到底是哪种类型。
( null和undefined 没有 constructor属性)
基本数据类型:number, string , boolean , undefined , null , symbol ,
引用数据类型: 对象 (函数、数组、类)
调试结果全为true
2、instanceof判断引用数据类型是哪种类型
3、typeof判断数据类型
基本数据类型(除了undefined 和 null)的输出
注意:typeof能够准确识别基本数据类型中的某个类,但是对于引用数据类型只能准确判断出函数方法。
为什么typeof null == ‘object'?
js数据类型在底层都是以二进制的形式表示的,如果二进制前三位是0,则会被typeof判断为object类型。而null会被隐式转化为0,前三位全是0,所以会被typeof认为是oject类型。
4、Object.prototype.toString.call() 精准确定类型