JavaScript 是一种强大的语言,但使用不同的数据类型可能会造成混淆,尤其是对于初学者而言。null 和 undefined 数据类型似乎什么都不代表,但它们是不同的。
需要区分这些并知道何时使用哪一个以避免运行时错误。
null 是 JavaScript 中的一个对象。如果它没有意义,那没关系,因为它是 JavaScript 中的一个错误。它应该是原始数据类型之一,但进行此更改会破坏许多现有的代码库。
这是一个用户分配的值; JavaScript 永远不会单独为变量提供 null 的值。它是分配给留空的变量的值。它可以称为空值。
JavaScript 中的 undefined
undefined 是一种状态。当我们声明一个变量但从未用值初始化它时,它被称为未定义。它是 JavaScript 用来初始化变量的默认值。它也是一个空值。
如果你使用相等运算符 == 比较它们,则返回 true。
在上面的示例中,我们使用 typeof 运算符来检查它们的数据类型。它将 null 数据类型作为 object 返回,将 undefined 数据类型返回为 undefined。尽管相等运算符 == 返回 true,但标识运算符 === 将返回 false,因为它们的值相等但具有不同的数据类型。
null 在执行算术运算时表现得像一个没有值的数字。需要注意的是,虽然它在算术运算中可能被视为 0,但 null 的值不是 0。
同时,undefined 在算术运算中使用时返回 NaN。