Java教程

Babel与Polyfilll的关系和区别

本文主要是介绍Babel与Polyfilll的关系和区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Babel:Babel 是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码。

注意:Babel 默认只转换新的 JavaScript 句法(syntax),而不转换新的 API。

Polyfill:Polyfill的准确意思为,用于实现浏览器并不支持的原生API的代码。

 1 //使用babel转码前的代码
 2 require('babel-polyfill');
 3 (x => x * 2)(1);
 4 var b = Array.of(1,2,4);
 5 //使用babel转码后的代码
 6 'use strict';
 7 
 8 require('babel-polyfill');
 9 (function (x) {
10   return x * 2;
11 })(1);
12 var b = Array.of(1, 2, 4);

Babel转换了ES6的箭头函数句法,但对于Array.of并没有转换,因为Array.of是ES6的API。

Array是ES5就存在的一个对象了,但是该对象没有of方法,这个方法就是一个API,但ES6有这个API了。对于不支持ES6的浏览器,我们通过引入babel-polyfill使其支持ES6的API,类似于上面的代码来实现的。

这篇关于Babel与Polyfilll的关系和区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!