我正在学习Angular2。 Angular2与打字稿和angular2与ecmascript有什么区别?
答案 0 :(得分:17)
ECMAScript是标准。 JavaScript是实现。当人们说ECMAScript时,他们通常意味着JavaScript ......浏览器理解的JavaScript。
Typescript是一个"类型的JavaScript超集,它编译/转换为JavaScript。"今天,这意味着您将TypeScript代码编译/转换为ECMAScript 5 / ES5,因为大多数浏览器support that version。将来,随着ECMASCript 6 / ES6 / ES2015的浏览器支持的增长,您可以将TypeScript编译为ES2015而不是ES5。
TypeScript的主要目的不是为JavaScript添加功能 - 这是ES2015的目的 - 而是让开发人员更轻松,更安全地编写和维护大型JavaScript应用程序。 TypeScript的主要优点在应用程序运行之前显示 - 当您编写或维护代码时。智能感知,代码完成,今天使用ES2015功能的能力等等。
Angular 2是用TypeScript编写的。如果您编写Angular 2应用程序,我强烈建议您使用TypeScript。
答案 1 :(得分:0)
如上所述,Ecmascript是一个标准,由Javascript实现。某些浏览器中的Javascript目前实现了Ecmascript 2015标准(也称为ES6),其他浏览器则没有。
Typescript是一套超级的Ecmascript 2015,因为它包含装饰等新东西。
ES5 Javascript是几乎所有浏览器都支持的最广泛使用的javascript版本
由于并非所有浏览器目前都支持ES6 / Typescript,因此您必须将ES6 javascript代码转换为每个浏览器都能理解的ES5 javascript代码(此过程称为transpiling)