Javascript 在一个表达式中解构并检索完全结构化的变量
是否可以在同一个调用中同时解构变量和访问结构化变量 例如,我可以用什么替换下面的Javascript 在一个表达式中解构并检索完全结构化的变量,javascript,destructuring,Javascript,Destructuring,是否可以在同一个调用中同时解构变量和访问结构化变量 例如,我可以用什么替换下面的?,以获得所需的输出(以及我需要如何编辑代码) 我的目标是知识和简洁的代码-我想避免将const{a,b}=params作为foo()的第一行,以防我可能需要传递整个params对象。如果第一个参数是您想要引用的对象,则不可能-一旦您分解参数,不再有任何方法引用完整参数,只有它的一些属性 但是,如果您想要的对象和部分是较大对象的一部分,这是可能的,因为这样您就可以单独引用属性名称(将对象放入变量),然后再次引用它以进
?
,以获得所需的输出(以及我需要如何编辑代码)
我的目标是知识和简洁的代码-我想避免将
const{a,b}=params
作为foo()
的第一行,以防我可能需要传递整个params对象。如果第一个参数是您想要引用的对象,则不可能-一旦您分解参数,不再有任何方法引用完整参数,只有它的一些属性
但是,如果您想要的对象和部分是较大对象的一部分,这是可能的,因为这样您就可以单独引用属性名称(将对象放入变量),然后再次引用它以进行分解,例如:
constfoo=({obj:{a,b},obj})=>{
console.log(a)//1
console.log(b)//2
console.log(obj)/{a:1,b:2}
}
常量obj={a:1,b:2}
foo({obj})
Soconsole.log({a,b})代码>不是你想要的?@SebastianSimon同意,你链接的问题中的链接问题回答了这一个-我早上的谷歌搜索技能很差,lol,我会投票以重复的方式关闭,然后我会用一些意想不到的x.obj=x替换通常期望的vals={a,b}=params
代码>!
const foo = ({ a, b }) => {
console.log(a) // 1
console.log(b) // 2
console.log(???) // { a: 1, b: 2 }
}
const x = { a: 1, b: 2 }
foo(x)