Function TypeScript函数类型语法解释
我正在阅读TypeScript手册,在函数类型标题下有一个示例(我理解): 然后是 让我们通过查看每个函数的 函数类型的一部分 这个语法:Function TypeScript函数类型语法解释,function,typescript,types,syntax,Function,Typescript,Types,Syntax,我正在阅读TypeScript手册,在函数类型标题下有一个示例(我理解): 然后是 让我们通过查看每个函数的 函数类型的一部分 这个语法: let myAdd: (x: number, y: number) => number = function(x: number, y: number): number { return x+y; }; 有没有人能把这一点分解并解释一下,因为我以前从未见过这一点,在手册中也找不到解释?这一行: let myAdd: (x: number, y
let myAdd: (x: number, y: number) => number =
function(x: number, y: number): number { return x+y; };
有没有人能把这一点分解并解释一下,因为我以前从未见过这一点,在手册中也找不到解释?这一行:
let myAdd: (x: number, y: number) => number =
function(x: number, y: number): number { return x+y; };
由3部分组成:
(1) 变量声明,这部分是let myAdd
。我假设这里没有什么可添加的,就像js一样
(2) 变量的类型:(x:number,y:number)=>number
这里我们定义了一种函数类型,它需要两个参数,类型都是
number
,名为x
和y
该函数需要返回一个
编号
(3) 变量的赋值:=函数(x:number,y:number):number{return x+y;}
除了为参数和返回值添加的类型之外,这与javascript一样。
如果查看它,您将看到实际实现与声明的类型完全匹配 你也可以这样写:
let myAdd: (x: number, y: number) => number = function(x, y) { return x+y; };
或:
第一行:
let myAdd: (x: number, y: number) => number
正在声明变量“myAdd”的类型。Typescript可以在第一个示例中自动推断出这一点,或者(第二个示例显示)您可以隐式地告诉Typescript它应该期望什么
第二行:
function(x: number, y: number): number { return x+y; };
指您分配给变量“myAdd”的函数本身的类型
有关说明相同内容的更简单示例:
let myString: (input: string) => string = (input: string) => input;
或者,隐式声明变量类型的另一个示例:
let myNumber: number = 10;
上述两种方法都告诉Typescript变量应该是什么。手册的解释在您引用的位后面的段落中。在您链接的部分中有解释?“一个函数的类型有两个相同的部分:参数类型和返回类型。当写出整个函数类型时,这两个部分都是必需的。”“第二部分是返回类型。我们通过在参数和返回类型之间使用一个粗箭头(=>)来明确哪个是返回类型。”@AndyJ Yeah,我开始使用胖箭头,但脑子里的箭头功能却乱七八糟,以前也没有见过胖箭头的这种用法。只是需要清理一下,谢谢。让我困惑的主要事情(尽管在手册中有进一步解释)是
=>
的使用,因为我只看到它与箭头函数语法一起使用。那么,它在两种情况下的用法是否具有相同的含义呢?在typescript中,当您编写函数类型时,您对结果类型使用此符号。例如:typemyfunction=(num:number,str:string)=>void
。不要把它与箭头函数混淆。@camden_kid非常相似,但不一样@k0pernikus链接与此无关。如何实现函数与类型无关。在类型定义中使用胖箭头与箭头无关functions@NitzanTomer雾消散了。我现在明白了,也明白了为什么我有点困惑。
let myString: (input: string) => string = (input: string) => input;
let myNumber: number = 10;