哈士奇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!
添加回答
舉報
0/150
提交
取消