js 赋值的问题

发布于 2022-09-12 04:31:01 字数 120 浏览 10 评论 0

let bbb = {
a:1,
b:2,
c:3,
d:4
}
let  aaa = bbb
aaa.b = 3
console.log(bbb)

bbb.b 为什么等于3了?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

葬﹪忆之殇 2022-09-19 04:31:01

因为JavaScript对象是引用类型。aaa.b 依然指向 bbb.b。通过深度克隆可以实现改变aaa.b的值不影响bbb.b。

独自唱情﹋歌 2022-09-19 04:31:01

bbb 是引用类型, aaa 是它的别名(aaa=bbb 默认浅复制) 二者指向同一内容
修改aaa.b时,bbb.b也被修改。若想不变,bbb 则必需是aaa内容的副本,可以深度复制实现,而不能直接用aaa=bbb

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文