JS中undefined和null的区别

在 JavaScript 中,null 和 undefined 都是用来表示缺少值的,但它们之间有一些关键的区别:

  1. undefined:

    • 在 JavaScript 中,undefined 表示声明了但未赋值的变量,或者访问对象属性时不存在的属性。
    • 未初始化的变量默认具有 undefined 值。
    • 作为函数参数的默认值时,如果调用函数时未传递该参数,则该参数的值为 undefined。
    • undefined 是一个原始值,而不是关键字。
  2. null:

    • null 是一个表示空值或者不存在的对象。
    • 当你想明确地表示一个变量应该是空的时候,可以将其赋值为 null。
    • 在 JavaScript 中,null 是一个特殊的对象值。它表示一个空对象引用。

总结一下:

  • undefined 表示一个变量已经声明了但是尚未被赋值,或者在对象中寻找一个不存在的属性时返回的值。
  • null 表示一个变量被赋值为空对象,它是 JavaScript 中的一个特殊对象。

举个例子:

javascript 复制代码
let foo; // 声明一个变量但未赋值,默认为 undefined
console.log(foo); // 输出 undefined

let obj = { bar: null }; // 声明一个对象,其中的属性 bar 被赋值为 null
console.log(obj.bar); // 输出 null
console.log(obj.baz); // 输出 undefined,因为 baz 属性并不存在于对象中

在 JavaScript 中,处理 undefined 和 null 的方式有时候会有所不同,因此了解它们之间的区别是很重要的。

相关推荐
lsc_blog30 分钟前
年终自评别贴提交记录,把技术产出讲成变化
数据库·面试·职场和发展·跳槽·求职招聘
脚本自动化开发2 小时前
折叠双屏MU156LA:写稿修图游戏体验
后端
脚本自动化开发3 小时前
AI短剧800集讲规矩,观众忘了是AI
后端
Csvn5 小时前
安装、升级与目录结构
后端·nginx
皮皮林5515 小时前
万能通用!权限系统就该这么设计
后端
GoAI6 小时前
DeepSeek Harness Memory (一)主流记忆插件总结
后端·算法·面试
橙子家7 小时前
RESTful 接口:它并非标准或协议,而是一种【架构风格】
后端
小兔子8 小时前
dict.get 的默认值每次都会求值,哪怕键本来就在
后端
斯维赤8 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构
肌肉娃子8 小时前
红队攻防测试报告 — wechat-e.cfd
后端