JavaScript 中 undefined 和 null 区别:undefined 表示变量未声明或未赋值,null 表示变量明确为空值。undefined 是原始类型,null 是对象类型。undefined 与任何值比较都为 false,null 与自身比较为 true。使用 undefined 时变量尚未声明或赋值,使用 null 时明确表示值为 null。

JavaScript 中 undefined 和 null 的区别
在 JavaScript 中,undefined 和 null 都是特殊的值,但它们之间存在着关键的区别。
undefined
- 当变量未被声明或赋值时,它的值是
undefined。 -
undefined表示变量不存在或尚未初始化。
null
-
null是一个特殊值,明确表示变量的值为空。 - 它不是 JavaScript 中的原始类型,而是对象类型。
主要区别
-
语义:
undefined表示变量不存在,而null表示变量存在但其值为null。 -
类型:
undefined是一种原始类型,而null是一种对象类型(特殊情况)。 -
比较:
undefined与任何值比较都是false,但null与自身比较为true,与其他值比较都是false。
什么时候使用 undefined 和 null
-
使用
undefined: 当变量尚未声明或初始化时。 -
使用
null: 当明确需要表示值为null时。例如,当将数据库中的空字段表示为null时。
示例
<code class="javascript">let myVariable1; // 未声明,值为 undefined let myVariable2 = null; // 明确赋值为 null</code>
在第 1 个示例中,myVariable1 的值是 undefined,因为它尚未被声明或赋值。
在第 2 个示例中,myVariable2 的值是 null,因为它被明确赋值为 null。










