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个参数,并返回一个包含两个属性x
和y
的对象。 它不是为该variables分配一个函数。 相比之下,编译:
var MakePoint = () => 1;
生产:
var MakePoint = function () { return 1; };
请注意,在这种情况下, =>
胖箭头出现在赋值运算符之后。
在一个types位置, =>
定义了一个函数types,其中参数在=>
的左边,返回types在右边。 所以callback: (result: string) => any
方法“ callback
是一个参数,它的types是一个函数,该函数有一个参数叫做result
types的string
,函数的返回值是any
types的。
对于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的单个参数。