循环对象时我不理解这种语法

问题描述 投票:0回答:1

我正在学习循环对象,并且在 Udemy 课程中遇到了这种语法。为什么我可以写

tools[x]
并且它返回对象(锤子,锤子2)的值?据我了解,第一次迭代中“tools”是对象,“x”是变量“hammers”,第二次迭代中是“hammers2”,但是括号在这个语法中意味着什么?

控制台返回

hitter
sledge

const tools = {
  hammers: 'hitter',
  hammers2: 'sledge',

  screws: {
    hammers: 10,
    hammers2: 20,
  },
};

for (const [x, y] of Object.entries(tools.screws)) {
  console.log(x,':',tools[x]);
}

javascript loops object syntax
1个回答
0
投票

Object.entries(tools.screws)
返回
[[ "hammers", 10 ], [ "hammers2", 20 ]]

for 循环使用对象解构将 x 分配给第一个元素,将 y 分配给返回数组中每个项目的第二个元素。

所以第一次迭代中的 x 是锤子,工具中的键的值为“击球手”

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

© www.soinside.com 2019 - 2024. All rights reserved.