【问】polyfill了解吗?
【答】:Polyfill是指给旧浏览器提供向后兼容的新特性,比如让旧版IE,也支持object.assign方法等。和此相关的概念还有shim, 是指抽象出一层API来磨平各端差异,不特指web程序。所以polyfill是一种浏览器环境的shim。
【扩展】现有的polyfill方案:
babel-polyfill : 在项目代码前插入所有的 polyfill 代码,为你的程序打造一个完美的 es2015 运行环境。
polyfill.io: 会根据浏览器 UA 返回不同的 polyfill 文件,你所要做的仅仅是在页面上引入这个文件,polyfill自动以最优雅的方式解决了
参考1:MDN - Polyfill
参考2:shim和polyfill之间的区别是什么
参考3:https://stackoverflow.com/questions/6599815/what-is-the-difference-between-a-shim-and-a-polyfill#