📜  反应JS |通天塔简介

📅  最后修改于: 2022-05-13 01:56:37.769000             🧑  作者: Mango

反应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,也会看到更多的例子。