Undefined 未定义

js/undefined2026-10-29 11:03:47

Undefined 是一个原始类型,只有一个值 undefined,代表未定义。

从概念上讲,undefined 表示值的缺失,null 表示对象的缺失。

产生 undefined 的操作

  • 变量声明时没有初始化(let x;),隐式初始化为 undefined。

  • 没有值(return;)的 return 语句,隐式返回 undefined。

  • 访问不存在的对象属性(obj.iDontExist),返回 undefined。

  • void 运算符返回的结果是 undefined。

  • 许多像 Array.prototype.find() 和 Map.prototype.get() 的方法,当没有找到元素时,返回 undefined。

undefined 变量

undefined 是全局对象的一个属性,所以 undefined 是全局作用域的一个 变量。

undefined 不是保留字,所以它有可能在非全局作用域中被当作标识符(变量名)来使用。这样做是一个非常坏的主意,因为这样会使你的代码难以去维护和排错。(使用 void 0 表达式可以安全地得到 undefined,但使用 undefined 变量不一定能得到 undefined)

参考

undefined
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/undefined

本页目录