JavaScript 中 undefined 与 null 的用法区别
大多数计算机语言,有且仅有一个表示“无”的值,比如:C 语言的 NULL,Java 语言的 null,Python 语言的 None,Ruby 语言的 nil。
但是在 JavaScript 中却同时存在 undefined
和 null
,这主要是由于历史原因,感兴趣的可以查一下。
二者的主要用法区别如下:
undefined
- 变量被声明了,但没有赋值时,就等于
undefined
- 调用函数时,应该提供的参数没有提供,该参数等于
undefined
- 对象没有赋值的属性,该属性的值为
undefined
- 函数没有返回值时,默认返回
undefined
- 变量被声明了,但没有赋值时,就等于
null
- 作为函数的参数,表示该函数的参数不是对象。
- 作为对象原型链的终点。
⚠️ 注意:在 JavaScript 中
undefined
是一个全局变量,而不是关键字!
- 为了避免无意中被篡改,建议使用
void 0
来获取undefined
值。- 在比较时,建议使用
if (typeof var1 === 'undefined') {}
。