JavaScript null 与 undefined
JavaScript 是一种强大的语言,但使用不同的数据类型可能会造成混淆,尤其是对于初学者而言。null
和 undefined
数据类型似乎什么都不代表,但它们是不同的。
需要区分这些并知道何时使用哪一个以避免运行时错误。
本文讨论 null
和 undefined
及其区别。
JavaScript 中的 null
null
是 JavaScript 中的一个对象。如果它没有意义,那没关系,因为它是 JavaScript 中的一个错误。它应该是原始数据类型之一,但进行此更改会破坏许多现有的代码库。
这是一个用户分配的值; JavaScript 永远不会单独为变量提供 null
的值。它是分配给留空的变量的值。它可以称为空值。
JavaScript 中的 undefined
undefined
是一种状态。当我们声明一个变量但从未用值初始化它时,它被称为未定义。它是 JavaScript 用来初始化变量的默认值。它也是一个空值。
为什么人们会混淆 null
和 undefined
与 JavaScript 中的相同
null
和 undefined
在以下方面是相同的:
- 两者都是原始数据类型。
- 如果你使用相等运算符
==
比较它们,则返回 true。
null == undefined; // returns true
JavaScript 将两者都视为空值。
- 在表达式中使用时,
undefined
和null
都会产生false
。
!!undefined; // false
!!null; // false
JavaScript 中 null
和 undefined
之间的区别
- 类型差异
console.log(typeof (null)); // object
console.log(typeof (undefined)); // undefined
在上面的示例中,我们使用 typeof
运算符来检查它们的数据类型。它将 null
数据类型作为 object
返回,将 undefined
数据类型返回为 undefined
。尽管相等运算符 ==
返回 true,但标识运算符 ===
将返回 false,因为它们的值相等但具有不同的数据类型。
- 算术运算
null
在执行算术运算时表现得像一个没有值的数字。执行操作会给出类似于 null 为 0
的结果。
console.log(4 + null); // 4
console.log(4 * null); // 0
console.log(4 - null); // 4
console.log(4 / null); // Infinity
需要注意的是,虽然它在算术运算中可能被视为 0
,但 null
的值不是 0
。
同时,undefined
在算术运算中使用时返回 NaN
。
console.log(4 + undefined); // NaN
console.log(4 * undefined); // NaN
console.log(4 - undefined); // NaN
console.log(4 / undefined); // NaN
相关文章
JavaScript 中的 Map 索引
发布时间:2024/03/20 浏览次数:197 分类:JavaScript
-
JavaScript map 方法很容易实现,我们将讨论它的不同参数,以及它们在不同场景中的使用方式。
JavaScript 中 let 和 var 的区别
发布时间:2024/03/20 浏览次数:79 分类:JavaScript
-
本教程描述了两个关键字 var 和 let 在 JavaScript 中的实际区别。
JavaScript 指针
发布时间:2024/03/20 浏览次数:166 分类:JavaScript
-
JavaScript 没有明确的方法来定义指针。它允许在对象之间传递值和引用,但不能显示引用。本文将介绍在 JavaScript 中定义指针的好方法。
JavaScript 元组示例
发布时间:2024/03/20 浏览次数:166 分类:JavaScript
-
在 JavaScript 语言中,元组是具有不可变特性的数组类型。我们可以使用单个变量访问元组,该变量是数组的一种。
使用 JavaScript 编码 HTML
发布时间:2024/03/20 浏览次数:83 分类:JavaScript
-
本教程将教你如何使用不同的方法对 HTML 字符串进行编码。这些方法的共同点是字符串替换,它替换了具有潜在危险的字符。
使用 JavaScript 加载外部 HTML 文件
发布时间:2024/03/20 浏览次数:133 分类:JavaScript
-
本文演示了如何使用 JavaScript 和 jQuery 加载外部 html 文件。
JavaScript 延迟后重定向页面
发布时间:2024/03/20 浏览次数:87 分类:JavaScript
-
本教程展示了如何使用 JavaScript 中的 setTimeout 方法在延迟后重定向页面。