反应JS |通天塔简介
通天塔简介
Babel 是一个非常著名的转译器,它基本上允许我们在当今的浏览器中使用未来的 JavaScript。简而言之,它可以将最新版本的 JavaScript 代码转换为浏览器可以理解的代码。 JavaScript 遵循的最新标准版本是 ES2020,并非所有浏览器都完全支持,因此我们使用了诸如“babel”之类的工具,以便将其转换为当今浏览器可以理解的代码。
什么是转译器?
它是用于将源代码转换为另一个同级别源代码的工具。这就是为什么它也被称为源到源编译器的原因。考虑到一个适用于特定版本的浏览器而一个不适用这一事实,这两种代码本质上是等效的。
注意:还需要注意的是,编译器与转译器完全不同,因为转译器将源代码转换为相同抽象级别的另一个源代码,而编译器通常将代码转换为较低级别的代码。就像在Java中一样,源代码被转换为较低级别且不等效的字节代码。
为什么我们需要巴别塔?
我们需要 babel 的主要原因是它让我们有权使用 JavaScript 必须提供的最新功能,而不必担心它是否可以在浏览器中运行。
简单示例
在安装和使用 Babel 工具的所有功能之前,我们先看一个 ES2017 最新标准版的简单代码,看看我们将它传入 babel 引擎时会发生什么。
代码:
Javascript
// sample new version javascript code
const fun = (x) => {x*2};
const a = () => {};
const b = (x) => x;
[1, 2, 3].map((n)=> n+1);
Javascript
// after transpiling
"use strict";
var fun = function fun(x) {
x * 2;
};
var a = function a() {};
var b = function b(x) {
return x;
};
[1, 2, 3].map(function (n) {
return n + 1;
});
上面的部分代码在部分浏览器中是不支持的,所以通过 Babel 转译后我们会得到:
Javascript
// after transpiling
"use strict";
var fun = function fun(x) {
x * 2;
};
var a = function a() {};
var b = function b(x) {
return x;
};
[1, 2, 3].map(function (n) {
return n + 1;
});
在下一篇文章中,我们将学习如何安装 Babel,也会看到更多的例子。