了解Angular 4中的typescript语法

Understanding typescript syntax in Angular 4

我是新来的角4和打字稿。我遵循了Angular.io网站上提供的"英雄之角之旅"教程。因为Angular4使用了typescript来定义组件等,所以我想了解更多关于typescript的内容,所以我在互联网上寻找文档。当我阅读"http://devdocs.io/typescript/"上提供的typescript文档时,我更加困惑了。当我比较文档和角度代码中给出的语法时,发现了很多不同之处。

1)函数使用"function"关键字声明,但在角度上,函数不使用"function"关键字声明。

2)在文档中使用"let"关键字声明类型,但在Angular中没有"let"关键字。

像这样有很多不同之处。因此,我对在哪里查找typescript文档(以及为什么angular使用不同的语法)感到困惑。


"1)函数是用"function"关键字声明的,但在angular中,函数不是用"function"关键字声明的。"

角度是基于类(ES6特征),每个角度组件都是一个类。在类中,您不需要function关键字来声明方法,您只需编写yourMethod() {//do stuff},它将是一个有效的语法。

"2)在文档中使用"let"关键字声明类型,但在Angular中没有"let"关键字。"

letconst也是ES6特性,它们与常规var类似,但有一些不同。在Angular中,通常在方法内部或类外部使用这些关键字,所以它们就在这里,您还没有看到它们。

"为什么Angular使用不同的语法"

没有区别:angular是写在typescript上的,不要忘记angular是一个框架,angular开发与常规的javascript或typescript开发不同,但是如果你了解ES6和typescript,了解angular组件中的一般情况就不算什么了。TS。

所以我的建议是:

1。学习ES6

2。学习打字脚本

然后开始学习角度。


首先,角度使用普通字体。没有特定角度的字体。typescript是javascript+类型。

接下来,回答以下问题:

1)函数使用"function"关键字声明,但在角度上,函数不使用"function"关键字声明。

请阅读并理解javascript类:http://2ality.com/2015/02/es6-classes-final.html。类中的函数不需要用function关键字声明。这是标准的javascript。

2)在文档中使用"let"关键字声明类型,但在Angular中没有"let"关键字。

javascript类中的属性不需要用letconst声明。请阅读并理解javascript类:http://2ality.com/2015/02/es6-classes-final.html。如。

1
class Something { constructor() { this.greet = 'hey' } }

此外,对于typescript,属性的定义如下。阅读有关typescript类的更多信息。https://www.sitepen.com/blog/2014/08/22/advanced-typescript-concepts-classes-types网站/

1
class Something { greet:string; constructor() { this.greet = 'hey' } }

再一次,Angular没有选择任何不同的语法。这是普通的类型脚本和JavaScript。

托德的座右铭在打字稿上写了一些好文章。在这里查看:https://toddmotto.com/resources/typescript


你试过正式的打字文档吗?

另外,对于我来说,Ng-Book2对于初学者来说也是一个很好的起点。你也可以在里面读到关于typescript的内容。

而且,非常重要的是,Angular4不必使用最新的字体脚本版本。因此,一些特性还不能在角度4中实现。通常,在变更日志中有关于它的信息。