我知道你可以像这样进行对象解构:const { item } = data;
也可以像这样进行数组解构:const [ item ] = data;
在函数参数中也可以这样做:const x = ({ item }) => item;
我看到过很多关于此的问题和答案。然而,我还没有看到一个关于嵌套对象在数组中的例子和好的解释。
const test = [{ count: 1 }];
const [{ count }] = test;
通常我会这样做:
const x = test[0];
const { count } = x;
今天我在CodePen中进行测试时,才发现可以在同一赋值语句中使用解构函数。
有人能解释一下当我执行[{ count }]
时发生了什么吗?因为我正在使用const [] = test
进行数组解构,但我没有解构任何东西,这显然会失败。如果我在其中使用{ count }
,那么我将得到想要的值。
我无法将其分解到足以理解其工作原理。我想[] = test
与test[0]
相同,然后我执行{ count } = test [0]
。但我只是想更好地理解它的工作原理。
我浏览了一些MDN文档之类的东西,但我找不到关于上述情况的良好解释。
谢谢!
const [ , , { count }] = [{ apple: 1}, {pear: 5}, {count: 13}, {delta: 2}]
将 13 赋值给count
,这有帮助吗? - trincotconst [temp] = test,{count} = temp;
- Bergiconst [aVarName] = test;
,它等同于const aVarName = test[0];
。我原以为你只能解构值并赋默认值,但你传入任何在[]
中的值都会被视为析构参数。 - pourmesomecode