TypeScript中“=>”的含义是什么? (肥箭)

我刚开始学习TypeScript。 而且我看到有很多使用这个sytax =>的代码。 我通过阅读TypeScript Version 1.6规范和一些谷歌做了一些研究。 我还是不明白=>的意思。
对我来说,感觉就像在C ++中的一个指针 。 但是我不能确认。 如果有人能解释下面的例子,那将是很棒的。 谢谢!

以下是我在阅读Typescript规范时find的例子。 :

对象types

 var MakePoint: () => { x: number; y: number; }; 

问题:这段代码在做什么? 用x和y创build一个名为MakePoint的对象,并以数字types填充 ? 这是MakePoint的构造函数还是函数?

函数types

 function vote(candidate: string, callback: (result: string) => any) { // ... } 

问题: => any什么意思? 你必须返回stringtypes的结果?

有人可以用适当的例子来解释这些差异或目的吗? 谢谢!

也许你把types信息和函数声明搞混了。 如果你编译以下内容 :

 var MakePoint: () => {x: number; y: number;}; 

你会看到它产生:

 var MakePoint; 

在TypeScript中,在:之后的所有内容都是types信息。 所以你的例子是说,MakePoint的types是一个函数,它接受0个参数,并返回一个包含两个属性xy的对象。 它不是为该variables分配一个函数。 相比之下,编译:

 var MakePoint = () => 1; 

生产:

 var MakePoint = function () { return 1; }; 

请注意,在这种情况下, =>胖箭头出现在赋值运算符之后。

在一个types位置, =>定义了一个函数types,其中参数在=>的左边,返回types在右边。 所以callback: (result: string) => any方法“ callback是一个参数,它的types是一个函数,该函数有一个参数叫做resulttypes的string ,函数的返回值是anytypes的。

对于expression式级别的构造,请参阅JavaScript中“=>”(等于和大于等于一个箭头)的含义是什么?

 var MakePoint: () => { x: number; y: number; }; 

MakePoint是一个variables。 它的types是一个不带参数的函数,并产生数字x和y。 现在的箭头是有道理的吗?

它被称为“胖箭头”。 它被添加到EcmaScript6并replacefunction关键字等等。

更多可以在这里阅读。

直接从OP中的链接:

在这个例子中,“vote”的第二个参数具有函数types

(result:string)=>任何意思是第二个参数是一个返回types为'any'的函数,它有一个名为'result'的'string'types的单个参数。