为了账号安全,请及时绑定邮箱和手机立即绑定

TS函数定义返回值问题

TS函数定义返回值问题

哈士奇WWW 2018-12-18 17:19:27
let myAdd: (x:number, y:number) => number =function(x: number, y: number): number { return x + y; };哪个大神能给说一说箭头函数下,是怎么定义返回值的类型的我觉得应该是let myAdd:(x: number,y: number): number => x + y所以上面那里 => number 的number是什么意思,我搜到的说是这个地方是返回值类型,小弟初学ts,有诸多不懂,还望大神多指教
查看完整描述

1 回答

?
Helenr

TA贡献1780条经验 获得超4个赞

其实这里只是涉及一个简单的声明定义而已。


正如:


let myAdd: (x:number, y:number) => number =

function(x: number, y: number): number { return x + y; };

只是一个函数类型声明(或匿名函数),如果我们用一个简单的变量声明定义,那其完整格式如下:


let x: number = 10;

其上的 number 部分相当于开头的 (x:number, y:number) => number,这一部分即是类型(或函数类型),只是一种定义;哪怕你使用:


let myAdd: (aaaaaaaaaaaaaaaaaaaaaa:number, bbbbbbbbbbbbbbbbbbbbbbbb:number) => number =

function(x: number, y: number): number { return x + y; };

也是可以的。


同样,一个变量的声明定义也可以是这样:


let x = 10;

这一点自然是归咎于TS自动推导能力了。因此,如上也可以简化成:


const myAdd = (x: number, y: number) => x + y;

= 的前部分一样省略了,交由ts自动推导;而后,就是一个实际的匿名函数写法了。


Happy coding!


查看完整回答
反对 回复 2019-01-19
  • 1 回答
  • 0 关注
  • 3364 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信