在 JavaScript 中,undefined 和 null 都代表着一种空值。但是它们是有区别的,接下来我们就以具体实例为例逐一讲解它们之间的差异。
一文让你彻底弄懂js中undefined和null的区别
在 JavaScript 中,undefined 和 null 都代表着一种空值。但是它们是有区别的,接下来我们就以具体实例为例逐一讲解它们之间的差异。
undefined
JavaScript 中,当一个变量被声明未赋值时,它的值就是 undefined。
let a;
console.log(a); // 输出 undefined
当访问一个不存在的对象属性时,它的值也是 undefined。
let obj = {
name: 'Tom'
};
console.log(obj.age); // 输出 undefined
当函数没有传递参数时,调用函数参数的值就是 undefined。
function test(arg) {
console.log(arg);
}
test(); // 输出 undefined
null
而 null 则代表着一个空对象指针,它代表着一个没有任何值的对象。
let a = null;
console.log(a); // 输出 null
区别
-
空指针和未定义不同,因为空指针代表着某个变量指向一个空的对象,而未定义则代表这个变量根本不存在。
-
当函数并未传递实参时,为了避免参数被隐式地转换为 undefined,适当考虑使用 null 。
function test(arg) {
if (arg === null) {
console.log('arg is null');
}
else if (arg === undefined) {
console.log('arg is undefined');
}
}
test(null); // 输出 arg is null
test(); // 输出 arg is undefined
- 在 JavaScript 中,undefined 是原始值类型,而 null 是一个特殊的对象,所以在比较它们时要使用全等符号(===)来做比较。
console.log(null == undefined); // 输出 true
console.log(null === undefined); // 输出 false
总之,在 JavaScript 中,undefined 表示缺少某个值或变量,而 null 表示一个空的对象引用。在实际应用中,我们必须区分它们之间的差异,避免在使用时出现错误。
参考文献:MDN Web Docs
以上就是关于 JavaScript 中 undefined 和 null 的区别的详细讲解,希望能对您有所帮助。
本文标题为:一文让你彻底弄懂js中undefined和null的区别
基础教程推荐
- JS语法也可以有C#的switch表达式 2023-07-09
- JavaScript实现系统防挂机(无操作弹窗)的示例详解 2024-01-06
- 初识HTML5(一) 2023-10-29
- 重新认识表格和一个访问无障碍的数据表格例子 2022-10-16
- Ajax对xml信息的接收和处理操作实例分析 2023-02-23
- sass 常用备忘案例详解 2022-11-20
- 关于IE7 IE8弹出窗口顶上 2023-12-02
- 基于Cesium实现拖拽3D模型的示例代码 2024-01-05
- google地图的路线实现代码 2024-01-06
- 微信小程序:数据存储、传值、取值详解 2024-01-04