Javascript 了解使用for…of进行分解

Javascript 了解使用for…of进行分解,javascript,Javascript,通过查看Atom的源代码,我发现for..of语句的用法如下: for (const {name, duration, x} of results) { dataByBenchmarkName[name] = dataByBenchmarkName[name] || {points: []} dataByBenchmarkName[name].points.push({x, y: duration}) } 我试图在终端中复制这个迭代,但是块永远不会像缺少括号一样执行。我试过迭代

通过查看Atom的源代码,我发现for..of语句的用法如下:

for (const {name, duration, x} of results) {
    dataByBenchmarkName[name] = dataByBenchmarkName[name] || {points: []}
    dataByBenchmarkName[name].points.push({x, y: duration})
}
我试图在终端中复制这个迭代,但是块永远不会像缺少括号一样执行。我试过迭代对象浅、深和数组。当我去掉花括号时,语句的工作方式与文档中的一样。有谁能给我一个用括号括起来的工作示例来学习吗?简单地说:

var test = ...; 
for(var {x,y,z} of test) {
    console.log(x);
};
谢谢

这很有效

var-test=[{x:1,y:3,z:2},{x:5,y:6,z:3}] 检验的forvar{x,y,z}{ console.logx; } 这很有效

var-test=[{x:1,y:3,z:2},{x:5,y:6,z:3}] 检验的forvar{x,y,z}{ console.logx; } 花括号只适合你。 这对我很有用:

var检验=[{x:1,y:2,z:4},{x:5,y:6,z:7}]; 检验的forvar{x,y,z} 控制台。logx,y,z 花括号只适合你。 这对我很有用:

var检验=[{x:1,y:2,z:4},{x:5,y:6,z:7}]; 检验的forvar{x,y,z}
控制台。logx,y,z;第一个代码示例中发生的情况取决于results.var test=???什么标题中的问题不是你真正想问的。请更改以帮助理解Atom的源代码,..of{x,y,z}是一个解构赋值,它依赖于每个iterable都有匹配的键,即x,y和zFirefox在代码中尝试const时给我一个语法错误,但它与let一起工作。EditChrome可以使用const,所以我想这是Firefox的一个bug。在第一个代码示例中发生的情况取决于results的值。var test=???什么标题中的问题不是你真正想问的。请更改以帮助理解Atom的源代码,..of{x,y,z}是一个解构赋值,它依赖于每个iterable都有匹配的键,即x,y和zFirefox在代码中尝试const时给我一个语法错误,但它与let一起工作。编辑Chrome对const没问题,所以我想这是Firefox的错误。谢谢你刚刚看到你是第一个。@Onyooo-如果其他答案更好,第一个并不意味着什么,因为这个页面将被成千上万寻求答案的人浏览,他们应该得到最好的答案,不是第一个。谢谢你刚刚看到你是第一个。@Onyooo-如果其他人的答案更好,第一个并不意味着什么,因为这个页面将被成千上万寻求答案的人浏览,他们应该得到最好的答案,而不是第一个。