Undefined 类型表示值处于“尚未被赋予具体意义”的原始状态,是 JavaScript 内置的被动产生的“无值”标识;它出现在未赋值变量、无 return 函数、缺省参数、不存在属性或越界数组索引等合法缺失场景,且 typeof 未声明变量也返回 "undefined"。
JavaScript 中 Undefined 类型 的底层含义,是表示一个值处于“尚未被赋予具体意义”的原始状态——它不是错误,也不是空对象,而是一种语言内置的、被动产生的“无值”标识。
当你用 let、const 或 var 声明一个变量但没给它赋值,JavaScript 引擎会自动把这个变量设为 undefined。这不是你写的,而是引擎默认做的。
let name; → name 的值就是 undefined
const age;(语法错误,const 必须初始化)→ 反过来说明 undefined 是留给可选初始化的变量的“占位符”undefined 不只出现在未赋值变量里,只要 JS 遇到“本该有值、但当前没有提供”,就会返回它——而且不会报错,这是设计上的宽容。
return,执行完默认返回 undefined
undefined
obj.missing → undefined
[1,2][5] → undefined
很多人混淆 undefined 和 ReferenceError。关键看变量是否被声明过:
立即学习“Java免费学习笔记(深入)”;
let a; + console.log(a) → 输出 undefined(已声明,未赋值)console.log(b) → 报错 ReferenceError: b is not defined(根本没声明)typeof b 仍返回 "undefined",这是唯一能安全探测未声明变量的方式undefined 是 JavaScript 七种原始类型之一(String、Number、Boolean、Undefined、Null、Symbol、BigInt),它的值就叫 undefined,大小写敏感,不能被构造,也不能被继承。
typeof undefined → "undefined"
undefined === undefined → true
void 0、void(123) 等表达式也返回 undefined,常用于避免全局 undefined 被意外重写(ES5+ 已冻结,但老代码仍需注意)阿里云服务器ECS省钱技巧:临界天数计算公式:付费模式这么选更划算!
阿里云服务器ECS三种付费类型怎么选 包年包月 / 按量 / 抢占式成本对比
2026阿里开发者社区认证的门店小程序开发工具实测对比:附门店小程序制作教程
2026阿里开发者评选出的全国最佳教培机构小程序开发工具实测对比:附教培机构小程序制作教程
轻抖app如何实名认证 轻抖实名认证方法
2026全国3款AI/SAAS商城小程序开发工具推荐:附商城小程序开发教程