null 是 JavaScript 中表示“有意缺失的对象引用”的原始值语义上明确标识“本该有对象但当前为空”与 undefined未定义/未赋值严格区分它被用于 DOM 查询失败、构造失败返回、API 空字段等场景支持精准类型检查与安全判空。null 在 JavaScript 中表示“有意缺失的值”它不是对象也不是空对象而是一个原始值专门用于标记“此处本应有值但当前没有”。尽管 typeof null object 是一个历史遗留 bugECMAScript 规范中已明确为误报但它在语义上始终承担着对象空引用的角色——即明确表示“这里本该是一个对象引用但现在是空的”。用 null 显式表达“对象不存在”的意图与 undefined表示“未定义、未赋值、未返回”不同null 是开发者主动赋予的强调“我确认这里不该有对象”。例如DOM 查询失败时返回 nulldocument.getElementById(nonexistent) —— 不是没查而是查了但没找到语义清晰 构造函数或工厂函数显式返回 null 表示创建失败如资源不可用、校验不通过而非抛异常或返回假值 API 响应中字段可为空对象时后端常以 null 表示“该对象字段未提供”前端可据此跳过初始化逻辑。与 undefined 区分使用避免语义混淆二者都代表“空”但用途截然不同undefined参数未传、属性未声明、函数无返回值 —— 属于“语言行为默认结果” null你主动写出来的表示“我决定这里不放对象”。比如let user null; // 明确初始化为空引用而非 let user; 后续判断 user null 比 user null 更精准也比 !user 更安全避免误判 0、、false。在类型系统和工具链中的协同价值现代开发中null 的语义化对静态类型检查至关重要 Shakespeare 一款人工智能文案软件能够创建几乎任何类型的文案。