这个for循环在Javascript中是如何工作的?

这个for循环在Javascript中是如何工作的?,javascript,for-loop,Javascript,For Loop,有人能一步一步地向我解释一下这个输出是如何工作的吗?我知道“for”循环和“of”关键字是如何工作的,至少我以为我知道,但是下面这个小片段打断了我的腿 for(let {x= 3, y = 2} of [{x: 1}, {y: 4}]) { console.log(`x: ${x}`); console.log(`y: ${y}`); } 输出: x: 1 y: 2 x: 3 y: 4 当循环第一次运行时,x作为1传递,y的默认值作为2使用。它打印x:1和y:2 第二次循环运

有人能一步一步地向我解释一下这个输出是如何工作的吗?我知道“for”循环和“of”关键字是如何工作的,至少我以为我知道,但是下面这个小片段打断了我的腿

for(let {x= 3, y = 2} of [{x: 1}, {y: 4}]) {
    console.log(`x: ${x}`);
    console.log(`y: ${y}`);
}
输出:

x: 1
y: 2
x: 3
y: 4
  • 当循环第一次运行时,x作为1传递,y的默认值作为2使用。它打印x:1和y:2
  • 第二次循环运行时,您传递y=4,它接受默认值x并打印x:3和y:4

  • 当您不发送变量的任何值(称为对象分解)时,它使用默认值,您可以从这里找到一个漂亮的解释
    for(let {x= 3, y = 2} of [{x: 1}, {y: 4}]) {
        console.log(`x: ${x}`);
        console.log(`y: ${y}`);
    }