gpt4 book ai didi

javascript - 解构时引用对象

转载 作者:数据小太阳 更新时间:2023-10-29 06:14:37 26 4
gpt4 key购买 nike

我在玩解构:

function create(){
let obj={a:1,b:2}
obj.self=obj
return obj
}
const {a,self} = create()

有没有办法在不添加这样的属性的情况下获取 self 对象?

function create(){
let obj={a:1,b:2}
// removes obj.self=obj
return obj
}
const {a,this} = create()

尽可能用一行代码!

预先感谢您的帮助。

最佳答案

您可以将 create 的返回值包装在一个临时的外部对象中,然后从外部对象通过属性名访问原始对象。这仍然允许您从原始对象中提取属性。

const {me:{a}, me} = {me:create()}

这将使用对象的属性 a 创建变量 a,并创建包含整个对象的变量 me

或者,将其命名为来自外部对象的属性名称以外的名称(例如,foo 而不是 me):

const {me:{a}, me:foo} = {me:create()}

这仍然需要创建一个额外的属性,但该属性存在于立即处理的包装器对象上。这可以完全在 create 外部完成,因此您无需触及 create 函数如何运行的过程,只是为了使其易于解构。

关于javascript - 解构时引用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44932720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com