问题描述
我正在使用面向 ES2020 的 Babel,并试图弄清楚我是否可以依靠 Object.keys
按照 ES2020 指定的顺序枚举键。
我明白:
- ES2020 guarantees a specific enumeration order for Object.keys,etc.
- 在 ES2015-2019 中,存在
Object.keys
功能但未指定枚举顺序 - Babel 提供了 polyfill,允许旧版浏览器使用它们完全缺失的功能
但我不知道 Babel 是否会填充以不符合目标标准的方式实现的功能。
如果旧版浏览器以不符合目标标准的方式实现功能,Babel 会对其进行 polyfill 以确保其行为符合标准吗?
感谢阅读!
示例
Firefox 4.0.1 实现了 Object.keys
,因此在 ES2020 中,数字键并不总是显示在字符串键之前。
> var fruit = {"banana": 1,"apple": 2,"tomato": 3,100: 4}
> Object.keys(fruit)
>>> ["banana","apple","tomato","100"]
火狐 88.0.1:
> var fruit = {"banana": 1,100: 4}
> Object.keys(fruit)
>>> Array(4) [ "100","banana","tomato" ]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)