函數的做用自不用多說,下面讓咱們來看看typescript
的世界裏的函數的真實面貌吧!typescript
函數的基本樣子也就是以下:函數
function fnanme(arg1: Type1, arg2: Type2, ...):Type { // 函數體 }
函數名 + 參數 + 函數體 + 返回值
函數名固然就是合法的標識符,沒啥可講的,重要的是參數和返回值,決定了此函數的形態。
至於函數體,是實現功能的代碼,因功能而異。code
參數就是函數的輸入,須要符合特定類型的格式ip
函數聲明中的參數叫形參,而當調用函數所傳遞的便叫實參
每一個參數的格式爲name: Type
,前面表示參數名,後面表示這個參數類型;多個參數須要用逗號分隔,這也是很日常的事,如下是一個示例編譯器
function fa(name: string, age: number) {}
參數也不必定非傳不可,願意傳就傳,不肯意不傳,在參數名後面增長一個?
,即可以達到此功能
如string
function fa(name: string, age?: number) {}
就表示age
是可傳可不傳的io
經過給參數一個默認值,其實也能達到可選參數的效果,只是這時達到的效果是沒有傳這個參數的時候,就以默認參數代替編譯
值得注意的是,可選參數必須在必選參數後面,否則編譯器會犯迷糊,其實想一想若是不這樣,你也會犯迷糊。
函數返回得有一個返回類型,返回類型通常寫在函數體前面,也就是大括號的前面。function
function fa(name: string): string {}
上面函數的返回類型就是string
類型,固然你能夠用任意你本身想要的類型。class
當你沒有聲明返回類型的時候,編譯器會根據你的函數體的return
自動推斷你的返回類型,沒有return
的話,返回類型就是void
了