Javascript 编译器 Traceur

Apache
JavaScript
跨平台
Google
2014-12-16
tsl0922

【年终提升】2019尾声,来 OSC·年终盛典收割技术干货,get新技能!>>>

Traceur 是一个来自 Google 的 Javascript 编译器,通过它可以体验一些很新并且有趣的 Javascript 语言特性,这些多数是还没有被当前浏览器实现的 ECMAScript 标准或草案,比如:数组比较、类、模块、迭代器、方法参数默认值、Promise等。

以下是几个例子:

数组比较(Array Comprehension):

var array = [for (x of [0, 1, 2]) for (y of [0, 1, 2]) x + '' + y];
expect(array).to.be.eql([
  '00', '01', '02', '10', '11', '12', '20', '21', '22'
]);

更精简的函数定义语法(Arrow Functions):

var square = (x) => {
  return x * x;
};
var square2 = x => x * x;
var objectify = x => ({ value: x }); // Immediate return of an object literal must be wrapped in parentheses
expect(square(4)).to.be.eql(16);
expect(square2(4)).to.be.eql(16);
expect(objectify(1)).to.be.eql({ value: 1 });

Promises:

function timeout(ms) {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
}
timeout(100).then(() => {
  console.log('done');
});

更详细的语言特性列表,请参考:https://github.com/google/traceur-compiler/wiki/LanguageFeatures

加载中

评论(0)

暂无评论

暂无资讯

暂无问答

angular2 学习一 注解/Annotation

注解/Annotation 你一定好奇@Component和@View到底是怎么回事。看起来像其他语言(比如python) 的装饰器,是这样吗? ES6规范里没有装饰器。这其实利用了traceur的一个实验特性:注解。给一...

2016/12/01 10:37
31
0
在nodejs 0.10开启ECMAScript 6任督二脉

使用这些编译器,会帮助你把现在用ECMAScript 6语法编写的javascript文件,编译生成ECMAScript 5语法的静态文件。如果你是coffeescript的使用者,那就很熟悉这种方式,类似coffeescript语法编...

2015/01/03 22:02
127
0
Es6简介

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。...

2018/11/10 19:58
2
0
ECMAScript6入门

ECMAScript6入门 首先了解一下ECMAScript6的来源: js的组成部分有哪些? ECMA DOM BOM 什么是ECMA? ECMA是一种标准,js则是实现者 什么是ECMAScript? 简写ECMA或者ES 目前版本: 低级浏览器...

2018/11/22 11:48
2
0
AngularJS2.0 教程系列(一)

Why Angular2 Angular1.x显然非常成功,那么,为什么要剧烈地转向Angular2? 性能的限制 AngularJS当初是提供给设计人员用来快速构建HTML表单的一个内部工具。随着时间的推移,各种特性 被加...

2015/07/22 13:13
4.9W
4
ECMAScript 6简介

ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 标准的制定...

2015/12/25 11:43
81
0
ROCORE, 生成器,惰性求值,科技进步改变异步编程难题

对函数式一窍不通? 被群蛇一样的异步回调if else搞得愁眉苦脸? ROCORE 将会改变你的异步编程习惯. 使用ECMAScript 6在nodejs中编写顺序的异步程序.共同体验生成器和函数式思想的强大....

2014/12/30 23:26
305
0
ES6新特性概览

本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用。 ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,...

2015/03/21 15:50
34
0
ES6 中使用 jQuery $(this) 的问题

$('.js-bottom-btn').click((event) => { let flag = $(event.currentTarget).date('flag'); ... }) 转1 在老项目中开始改用 laravel-mix ES6 逐渐过渡。摸索中遇到在与 jQuery 一同使用时 ...

2019/04/18 09:57
12
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部