Javascript 在ES6中编写映射/集的更简单方法(编译器还是语法糖?)
我一直不明白为什么我们不能这样写ES6地图:Javascript 在ES6中编写映射/集的更简单方法(编译器还是语法糖?),javascript,ecmascript-6,Javascript,Ecmascript 6,我一直不明白为什么我们不能这样写ES6地图: new Map({ ['ArrayAsKey']: {foo:bar} }) new Map({ ['ArrayAsKey']: {foo:bar} }) 有没有办法做到这一点?或者任何使使用这些新数据结构更愉快的方法 我一直不明白为什么我们不能这样写ES6地图: new Map({ ['ArrayAsKey']: {foo:bar} }) new Map({ ['ArrayAsKey']: {foo:bar}
new Map({
['ArrayAsKey']: {foo:bar}
})
new Map({
['ArrayAsKey']: {foo:bar}
})
有没有办法做到这一点?或者任何使使用这些新数据结构更愉快的方法
我一直不明白为什么我们不能这样写ES6地图:
new Map({
['ArrayAsKey']: {foo:bar}
})
new Map({
['ArrayAsKey']: {foo:bar}
})
因为这种语法只允许键使用字符串;所有其他类型将被字符串化
但您可以传递键值对列表:
const a={foo:13};
常数b={foo:13};
常量映射=新映射([
[a,“常数a”],
[b,“常数b”]
]);
log(map.get(a),a);
console.log(map.get(b),b)代码>
我一直不明白为什么我们不能这样写ES6地图:
new Map({
['ArrayAsKey']: {foo:bar}
})
new Map({
['ArrayAsKey']: {foo:bar}
})
因为这种语法只允许键使用字符串;所有其他类型将被字符串化
但您可以传递键值对列表:
const a={foo:13};
常数b={foo:13};
常量映射=新映射([
[a,“常数a”],
[b,“常数b”]
]);
log(map.get(a),a);
console.log(map.get(b),b)代码>那个语法是什么意思?我很困惑,所以可能是为什么它没有完成。那个语法是什么意思?我很困惑,所以可能是为什么它没有完成。