目录
前言
说到这两个类型,首先应该从整体上明确一下JavaScript中提供的数据类型。
JavaScript中的数据类型分为两类:原始类型和对象类型。
其中,原始类型又可以细分为如下5类:数字,字符串,布尔值,null,undefined。
null和undefined都表示一种“空缺”的意思,但具体还有很多细节不同。
null
类型检测
对null
使用typeof
检测,可得:
说明
由以上结果可以看出,可以认为null是一种特殊的对象,表明了“非对象”这种概念。
undefined
类型检测
对undefined
使用typeof
检测,可得:
说明
undefined表明变量没有初始化。有以下几种常见情况的返回值是undefined:
- 如果一个元素不存在,那么在查询这个元素时会返回undefined。
- 如果一个函数没有返回值,那么默认返回的是undefined。
- 如果引用一个函数的某个形参值,但是这个形参却没有被赋予一个实参,那么会返回undefined。
综合分析
- 相等运算符认为二者是一样的:
- 严格相等运算符才能看出二者不同:
- 这两个类型是没有属性或者方法的(它们是基本类型,但没有对应的包装类型):