无法在JavaScript映射的声明中将键分配为对象

时间:2020-10-24 18:56:01

标签: javascript maps key

Map的键可以是任何值(包括函数,对象或任何原语)。 但是,为什么像下面的代码那样分配键值对呢?

let myMap=new Map({ {'A':'B'}:{'a':'b'}, {'C':'D'}:{'c':'d'} })

2 个答案:

答案 0 :(得分:0)

因为Map对象采用了可迭代的参数new Map([iterable]) ,但对象是不可迭代的

可迭代协议允许JavaScript对象定义或自定义其迭代行为,例如for ... of构造中循环的值。有些内置类型是具有默认迭代行为的内置迭代器,例如Array或Map,而其他类型(例如Object)则不是。

请参见有关迭代的信息

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

答案 1 :(得分:0)

我试图弄清楚这一点,并且发现此语法有效:

let myMap = new Map([[''A','B'],['a','b']]);

相关问题