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

news2024/11/23 20:46:11

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

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

没错在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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/47607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何实现机器人自动拉微信群

如果想长期运营一个微信群,每天手动拉人进群是很痛苦的事情。实际上可以用微信机器人来替代人力,实现过程也并没有想象中的那么困难 引导一下思路 1. 经验分析 如果是手动拉人进群的话,根据我们的日常经验,基本上逻辑是这样的&…

​GENIUS: 根据草稿进行文本生成的预训练模型,可用于多种NLP任务的数据增强...

©PaperWeekly 原创 作者 | 郭必扬 单位 | 上海财经大学信息管理与工程学院AI Lab论文标题:GENIUS: Sketch-based Language Model Pre-training via Extreme and Selective Masking for Text Generation and Augmentation论文作者:Biyang Guo, Yeyu…

赤霉素3β-羟化酶的下调增强了大豆的光合作用并提高了种子产量

文章信息 题目:Downregulation of a gibberellin 3β-hydroxylase enhances photosynthesis and increases seed yield in soybean 刊名:New Phytologist 作者:Fang Huang,Zhixi Tian,Deyue Yu et al. 单位:Nanjing Agricultu…

探讨下如何更好的使用缓存 —— 集中式缓存Redis的BitMap存储、管道与事务、以及与本地缓存一起构建多级缓存

大家好,又见面了。 通过前面的文章,我们一起剖析了Guava Cache、Caffeine、Ehcache等本地缓存框架的原理与使用场景,也一同领略了以Redis为代表的集中式缓存在分布式高并发场景下无可替代的价值。 现在的很多大型高并发系统都是采用的分布式…

Oracle自定义函数实现递归查询(用自定义函数替换connect_by_root)

Oracle自定义函数实现递归查询(用自定义函数替换connect_by_root)1. 前言2. connect_by_root 和 自定义函数2.1 用 connect_by_root 实现2.2 用 自定义函数实现2.2.1 自定义函数2.2.2 实现效果1. 前言 看这篇文章之前可以先看下面的文章 oracle递归查询&…

B站季报图解:营收58亿净亏收窄36% 日活突破9000万

雷递网 雷建平 11月29日哔哩哔哩股份有限公司(简称:“B站”)今日发布财报。财报显示,B站2022年第三季营收57.9亿,同比增11%。B站2022年第三季度日均活跃用户数达9030万,月均活跃用户数达3.33亿,…

springboot整合minio

minio是对象存储服务。它基于Apache License 开源协议,兼容Amazon S3云存储接口。适合存储非结构化数据,如图片,音频,视频,日志等。对象文件最大可以达到5TB。 优点有高性能,可扩展,操作简单&a…

招标网站信息爬取

目标网站 某采购与招标网  代码链接code-repo 准备工作 参考博客[1],使用谷歌浏览器的开发者工具,提取http的表单信息。  http post 中的表单信息,需要含有_qt信息。网站使用_qt做反爬虫措施。_qt由服务器返回,在不同的会话中…

第五站:操作符(终幕)(一些经典的题目)

目录 一、分析下面的代码 二、统计二进制中1的个数 解一:(求出每一个二进制位,来统计1的个数) 解二:(利用左我们移或右移操作符和按位与) 解三:(效率最高的解法&…

Java中的集合框架

目录 集合体系 Collection - List接口实现类 Collection - List接口对象的遍历 Collection - List - ArrayList Collection - List - Vector Collection - List - LinkedList Collection - Set接口实现类 Collection - Set接口的遍历 Collection - Set - HashSet Has…

哈夫曼压缩算法-Python实现

前面上传了A*算法的实现,就顺便把一起写的哈夫曼压缩也上传了吧 本文主要提供了Python版本的哈夫曼压缩算法实现,并在此基础上提供了命令行和基于Qt的GUI用户界面(User Interface) 哈夫曼(Huffman Encoding&#xff09…

HTTP 协议内容的介绍与应用

HTTP简介 HTTP 超文本传输协议(Hyper Text Transfer Protocol)是一个应用层的协议,使用相当广泛,比如我们常说浏览器敲入网址打开网页,浏览器跟后台服务器之间就用的是HTTP,并且也常用于后端各个微服务之间的数据请求和通信。是我…

【学习笔记62】判断数据类型的方法

1. typeof:判断基本数据类型 console.log(typeof(123));console.log(typeof(123));console.log(typeof(true));console.log(typeof(undefined));console.log(typeof([1, 2, 3]));console.log(typeof({a:1}));2. constructor 可以判断当前数据的构造函数是谁 const …

Node.js 入门教程 51 Node.js Buffer

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录,不存在任何商业用途,如侵删 文章目录Node.js 入门教程51 Node.js Buffer51.1 什么是 buffer?51.2 为什么需要 buffer?51.3 如何创建buffer51.4 使用 buff…

KVM虚拟化部署

一、 安装配置KVM 相关软件 检查本机CPU是否支持虚拟化 intel: 最新linux内核的Intel处理器(含VT虚拟化技术) vmx nx lm AMD: 含SVM安全虚拟机技术的AMD处理器, 也叫AMD-V svm nx lm 可以使用如下命令检查: [rootzutuanxue ~]# egrep "(vmx|svm)" /p…

进销存系统和ERP系统怎么选?有什么区别?

首要任务就是把各种专属术语名词的含义搞清楚,否则就要饭碗不保了,现在把自己学习到的知识分享给大家,希望能够帮助到有需要的人:进销存和ERP有什么不同?进销存属于ERP吗?一起来了解一下吧。 一、概念定义…

药师帮再冲刺上市:研发远低于营销,债务高企,张步镇为董事长

11月28日,药师帮股份有限公司(下称“药师帮”)再次在港交所递交招股书,高盛和中金公司为联席保荐人。据贝多财经了解,这是药师帮第二次递交上市申请,此前曾于2022年5月24日递表。 据了解,药师帮…

ImageEn FMX内置图像效果对话框

ImageEn FMX内置图像效果对话框 我们现在发布了ImageEn/FireMonkey的测试版。目前,仅支持Windows目标,计划使用其他平台。 ImageEn FMX功能强大: 任何对话框 ImageEn打开/保存对话框 内置图像效果对话框(TImageEnProc.DoPreviews) 内置图像I/…

基于PHP+MySQL邮件管理系统的设计与开发

如今,随着社交软件的兴起,邮箱的地位被撼动,但是邮箱的重要性始终不能被忽视。人们在社交软件不发达的那个年代,距离很近的人的交流方式是面对面的,而距离很远的人则是通过书信的形式进行交流,但是随着社交软件的兴起,有各种各样的交流方式,但是邮箱在企业交流、生意场合、校园…

《深入浅出WPF》学习笔记

目录书山有路勤为径,学海无涯苦作舟1.Binding1.Binding的源和路径1.1 把控件作为Binding源与Binding标记扩展1.2 控制Binding的方向及数据更新1.3 没有“Path”的Binding1.4通过Binding的RelativeSource属性指定Source1.5把ObjectDataProvider对象指定为Source书山有…