从Babel 7.4.0开始,该软件包已被弃用,取而代之的是core-js/stable(用于polyfill ECMAScript功能)和regenerator-runtime/runtime(需要使用transpiled generator函数),实际项目中可使用@babel/preset-env替代。
Babel只会转换ES6+语法,但不会转换新的内置函数、新的静态方法、新的实例方法和生成器函数等,@babel/polyfill通过模拟完整的ES6及ES6+环境(浏览器或Node.js)从而可以正常运行JavaScript。如Promise或WeakMap,静态方法如Array.from或Object.assign,实例方法如Array.prototype.includes和生成器函数(前提是您使用了regenerator插件)。String为了实现此目的,polyfill和本机原型增加了全局范围。