在Node.js的REPL:爲什麼我不能迭代我的ES6 Map的屬性?
> var map = new Map();
undefined
> map['foo'] = 'bar';
'bar'
> map['bar'] = 'baz';
'baz'
> map
Map { foo: 'bar', bar: 'baz' }
> map.forEach(console.log);
undefined
正如你所看到的,foo
和bar
鍵中明確規定map
,但是當我嘗試Map.prototype.forEach
遍歷他們,什麼都不會發生 - 但according to MDN, it should。還要注意Map.prototype.forEach
定義爲,所以不僅僅是這個方法還沒有實現。我也嘗試使用for ... of ...
循環,結果相同 - 即使it should,我提供的用於每次迭代的代碼實際上都不會運行。
我在Node.js v4.4.4上。我在網上搜索了「javascript map不是可迭代節點」之類的東西,沒有運氣。
這是怎麼回事?
'Map'對象沒有屬性,它們有條目。使用'新的地圖([['foo','bar'],['bar','baz']])創建它' – Bergi