javascript中的polyfill是什么,polyfill和babel的关系

首先我们看看这个单词的意思

好像也没有解释啥,但是给人的感觉是一种用来补充,优化的东西。

没错在js中也正有这个意思

js中的polyfill用来表示,根据新特性的定义,创建一段与之行为等价,但是能够在旧的js环境中运行的代码。

简言之,polyfill 是用旧语法重写新版本新增的方法(api),以兼容旧版浏览器。

所以,在之前我们还需要考虑兼容 ie的时候,用es6语法写代码时,会经常用到这个。

polyfill是一个js脚本,我们可以只针对一个方法引入,比如promise引入相应的polyfill,也可以引入一整个文件,一般来说我们会使用现成的npm包,有很多包供我们选择

比如只引入promise的polyfill,可以使用 promise-polyfill

npm i promise-polyfill

常用的还有

npm i babel-polyfill

还有一个babel,是我们常见的做低版本兼容的工具包,babel和polyfill的区别在于

  1. babel只转化新的语法,不负责实现新版本js中新增的api
  2. polyfill 负责实现新版本js中新增的api
  3. 所以在兼容的时候一般是 babel + polyfill都用到,所以babel-polyfill 一步到位

更多关于babel的知识,可以看这篇文章

【前端工程化】babel到底是个什么,了解babel的功能, 了解core-js_我有一棵树的博客-CSDN博客_babel corejsbabel到底是个什么,了解babel的功能https://blog.csdn.net/qq_17335549/article/details/126978888

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值