透明度简介

例子

ES6 / ES2015 到 ES5(通过 Babel

这个 ES2015 语法

// ES2015 arrow function syntax 
[1,2,3].map(n => n + 1); 

被解释并转换为此 ES5 语法:

// Conventional ES5 anonymous function syntax 
[1,2,3].map(function(n) {   
    return n + 1; 
});

CoffeeScript 到 Javascript(通过内置的 CoffeeScript 编译器)

这个 CoffeeScript

# Existence:
alert "I knew it!" if elvis?

被解释并翻译成 Javascript:

if (typeof elvis !== "undefined" && elvis !== null) {
  alert("I knew it!");
}

我如何变换?

大多数编译到 Javascript 语言都内置了一个转换器 (如 CoffeeScript 或 TypeScript)。在这种情况下,你可能只需要通过配置设置或复选框启用语言的转换器。也可以相对于转换器设置高级设置。

对于 ES6 / ES2016-to-ES5 的转换,使用的最突出的转换器是 Babel

我为什么要透露?

引用最多的好处包括:

  • 能够可靠地使用更新的语法
  • 大多数(如果不是所有)浏览器之间的兼
  • 通过 CoffeeScript 或 TypeScript 等语言对 Javascript 使用缺失/非原生功能