jas*_*hao 11 javascript ecmascript-5 angular
所以我今天刚刚发现Angular 2.0即将推出,他们正在使用ECMAScript 6,但将其编译为5等等,等等.
这将如何(使用ECMAScript)影响使用?它将如何与我用来调用其API 的JavaScript兼容?我的意思是,将不同的语言(ES,JS)一起编写?
对这是如何工作感到困惑.感谢帮助.
编辑
对不起@Joseph,如果我的问题不够清楚,但我(主要)想知道ECMAScript 5如何在浏览器中运行,以及上面的第二段保持上下文.
JavaScript人员如何使用Angular 2.0?ES如何与JS代码一起工作?
来自文档:
虽然Angular将在ES6中,但如果您不想升级,仍可以在ES5中编写.编译器生成可读的JS,并且扩展有人类敏感的类比.
我怀疑ES可以由JS解释器运行(?)
Jos*_*eph 16
AngularJS 2.0在ECMAScript中重写了吗?
好像你把ES误认为是另一种语言.
ES(ECMAScript)是JavaScript语言所基于的标准.它定义了基于它的JS和其他语言的规则和行为.ES5是第5版,ES6是撰写本文时即将进行的修订.
他们正在使用ECMAScript 6,但将其编译为5
今天几乎每个浏览器都兼容ES5,而ES6则不然.有像使用新API和非常方便的语法一样使用ES6的动机 - 但这些在ES5中并不存在.为了能够立即使用ES6,但仍然需要将ES6代码转换为ES5.
这意味着Angular是用ES6语法编写的,但代码被转换(转换)回ES5,等同于启用当前浏览器来运行它.
下面是代码执行相同操作的示例,一个用ES6编写,另一个用ES5 编译生成.请注意ES6版本的便利性与在ES5中完成它的方式相比.
// ES6
var seattlers = [for (c of customers) if (c.city == "Seattle") { name: c.name, age: c.age }];
// ES5
var seattlers = customers.filter(function (c) {
return c.city == "Seattle";
}).map(function (c) {
return {
name: c.name,
age: c.age
};
});
Run Code Online (Sandbox Code Playgroud)
这将如何影响使用?
它将如何与我用来调用其API的JavaScript兼容?
有不同的语言一起写
他们(Angular)在即将推出的版本中编写了它,然后将其转换回当前版本,该版本可以在当今的浏览器上运行.在消费者方面没有额外的努力.这一举措可能是为了使代码"具有前瞻性",为今天的未来版本准备代码库.
| 归档时间: |
|
| 查看次数: |
2359 次 |
| 最近记录: |