【发布时间】:2016-03-27 05:03:50
【问题描述】:
我正在阅读 this 在 Map 上使用 for.. of 循环的示例,我对这种语法有点困惑:
var myMap = new Map();
myMap.set(0, "zero");
myMap.set(1, "one");
for (var [key, value] of myMap) {
console.log(key + " = " + value);
}
具体来说,我不明白正在发生的数组解构。我知道您可以使用数组解构来执行类似let [one, two] = [1, 2]; 的操作,但是这个示例中发生了什么? myMap 不是数组,为什么它会得到正确的值?
我的另一个问题是为什么解构中的订单是key, value,但是当你执行forEach()时,订单是value, key,就像这里:
myMap.forEach((value, key) => {
console.log(key + " = " + value);
});
【问题讨论】:
标签: javascript dictionary ecmascript-6