Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在一个表达式中解构并检索完全结构化的变量_Javascript_Destructuring - Fatal编程技术网

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})
So
console.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)