首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在对象Javascript中引用对象

在对象Javascript中引用对象
EN

Stack Overflow用户
提问于 2022-01-28 20:20:35
回答 1查看 24关注 0票数 0

我试图在对象中创建对对象的引用,而不是创建对象的副本。我对引用还是复制感到困惑。令我困惑的是:

代码语言:javascript
复制
let master = {}
master['SomeObject'] = {a:"Something",b:"something"}
let subMaster = master['SomeObject']
subMaster['Test'] = true
console.log(master['SomeObject']['Test'])
//this WORKS as expected updating the original object
delete master['SomeObject']
console.log(subMaster)
//still shows content, and can continue to be manipulated? Shouldnt it show undefined?

为什么即使在删除原始对象之后,引用仍然有效?如果我误解引用,如何确保删除原始对象,使所有引用不再工作?我可能错过了一些基本的东西,我感谢任何人的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-28 20:22:54

delete不会物理地从内存中删除对象。它只从master中删除该属性。由于您仍然在引用变量中的对象,而且您的变量还没有超出作用域,所以该对象仍然驻留在内存中。

MDN

JavaScript delete 运算符从对象中移除属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70899837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档