了解Angular 4中的typescript语法

时间:2018-01-19 03:50:49

标签: angular typescript typescript-typings

我是Angular 4和Typescript的新手。我跟随了#34; Angular-tour-of-hero" Angular.io网站上提供的教程。由于Angular 4使用typescript来定义组件等,我想了解更多关于typescript的内容,所以我在互联网上寻找文档。当我阅读' http://devdocs.io/typescript/'提供的打字稿文档时,我更加困惑。当我比较文档和Angular代码中给出的语法时,我发现了很多不同之处。

1)用'函数声明函数'关键字,但在Angular中,函数未声明为' function'关键字。

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

这样有很多不同之处。所以,我很困惑在哪里寻找TypeScript的文档(以及为什么Angular使用不同的语法。

3 个答案:

答案 0 :(得分:5)

" 1)使用'函数声明函数'关键字,但在Angular中,函数未声明为' function' 。关键字"

Angular基于(ES6特性),每个Angular组件都是一个类。在课程内部,您不需要function关键字来声明方法,您只需编写yourMethod() {//do stuff},它就是有效的语法。

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

letconst也是ES6功能,它们与常规var类似,但有一些差异。在Angular中,您通常在方法或外部类中使用这些关键字,因此它们就在这里,您还没有看到它们。

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

没有区别:Angular写在Typescript上,并且不要忘记Angular - 是框架,而使用Angular进行开发与使用常规Javascript或Typescript进行开发不同,但如果您了解ES6和Typescript - 了解Angular组件中通常会发生的事情并不是什么大问题。

所以我的推荐是:

<强> 1。学习ES6

<强> 2。学习打字稿

然后开始学习Angular。

答案 1 :(得分:0)

您是否尝试过official TypeScript documentation

另外,对我来说,ng-book2非常适合初学者入手。您也可以在其中阅读有关TypeScript的内容。

而且,非常重要的是,Angular 4没有必要使用最新的TypeScript版本。因此,Angular 4中尚未实现某些功能。通常,在更改日志中有关于它的信息。

答案 2 :(得分:0)

首先,Angular使用普通的Typescript。没有Angular特定的Typescript。而且Typescript是Javascript + Type。

接下来,回答以下问题:

1)函数使用'function'关键字声明,但在Angular中,函数未使用'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。例如

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

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

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

再一次,Angular没有选择任何不同的语法。这是普通的Typescript和Javascript。

Todd Motto在Typescript上有一些好文章。请在此处查看:https://toddmotto.com/resources/typescript