我正在学习循环对象,并且在 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]);
}
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