javascript - TS函数定义返回值问题
本文介绍了javascript - TS函数定义返回值问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
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,有诸多不懂,还望大神多指教
解决方案
其实这里只是涉及一个简单的声明定义而已。
正如:
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!
这篇关于javascript - TS函数定义返回值问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文