在 JS 处理数据的过程中经常会有类型判断的需要,首先我们知道 JS 中的的 6 种基本数据类型:
- null:空。表示不纯在;
- undefined:未定义,声明变量未赋值时;
- number:数值;
- string:字符串;
- boolean:布尔值;
- object:对象。
那么最常见的类型判断方法就是 typeof 和 instenceof。
typeof
typeof 可以用来检测给定变量的数据类型,可能的返回值如下:
1 | typeof null; // 'object' |
通过上面的代码,我们可以发现 typeof 不能判断出 null 和 object。所以不要使用 typeof 判断 null 和 object,可以直接用==判断 null;
1 | if (a == null) { |
instanceof
instanceof 常用于判断一个变量是否是某个对象的实例,是一个三元运算符与 typeof 的实质区别。
1 | //用法 |
我随便写封装了一个判断类型的函数
1 | /* |
[越努力,越幸运!]