我是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使用不同的语法。
答案 0 :(得分:5)
" 1)使用'函数声明函数'关键字,但在Angular中,函数未声明为' function' 。关键字" 强>
Angular基于类(ES6特性),每个Angular组件都是一个类。在课程内部,您不需要function
关键字来声明方法,您只需编写yourMethod() {//do stuff}
,它就是有效的语法。
" 2)使用' let'声明类型文档中的关键字,但在Angular中没有' let' 。关键字" 强>
let
和const
也是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类中的属性不需要使用let
或const
声明。请阅读并理解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