基础数据类型判断typeof
基础数据类型:String, boolean, Number, null, undefined,一般用typeof判断,注意,null的typeof判断是object;

null与undefined区别
引用数据类型判断instanceof
引用数据类型:Object, Array, Function, RegExp, Date
A instanceof B:当需要判断的是数组和对象时,数组 instanceof 对象,返回的是true; 对象 instanceof 数组,返回false;有一定的缺陷;
instanceof 不能用于判断基本数据类型,因为判断原理是判断实例是否属于某个数据类型的实例;

引用数据类型判断constructor
可以解决Array与Object判断的问题

类型转换

- null与undefined比较时,会先转化为Boolean类型(都为false),所以比较两者相等返回true;
- 2 == true返回false原因是,true先转换为Number类型(1),2 == 1 当然不相等,返回false

- [] 与[] 比较时,都为数组类型,占用的内存地址不同,是不同的空数组,所以返回false;
- [] 与 ![]比较,两者都转为Number类型比较,都为0,所以返回true;

本文详细介绍了JavaScript中基础数据类型与引用数据类型的判断方法,包括typeof操作符的使用,null与undefined的区别,以及instanceof和constructor在引用类型判断中的应用。同时,解释了类型转换的规则,如null与undefined的比较,数字与布尔值的转换等。对于数组和对象的比较问题,提到了constructor作为解决方案。
401

被折叠的 条评论
为什么被折叠?



