babel如何实现Set / Map polyfill

时间:2016-01-14 12:36:36

标签: ecmascript-6 babeljs

我的问题与Babel的Set / Map,弱集/弱映射polyfills的计算复杂性有关? Afaik没有ES5语言功能允许直接实现Set / Map,因此可能会发生Set / Map可能使用引擎盖下的Array结构来实现对象引用的查找,这将产生O(N)查找性能。所以问题是:

Set / Map查找操作的计算复杂性是什么?

提前谢谢!

1 个答案:

答案 0 :(得分:9)

Babel使用core-js作为其polyfill,来自GitHub repo

  

core-js在大多数情况下使用本机集合,只修复方法/   构造函数,如果需要,在旧环境中使用速度快   polyfill (O(1)lookup)

(强调我的)

如果您对完全查找感兴趣,请访问this file。它没有数组支持。