Babel 会填充现有但不完全符合目标标准的旧功能吗? 示例

问题描述

我正在使用面向 ES2020 的 Babel,并试图弄清楚我是否可以依靠 Object.keys 按照 ES2020 指定的顺序枚举键。

我明白:

但我不知道 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 (将#修改为@)