TypeScript中的函數(shù)詳解

一、寫法

  • 聲明式
function getInfo(name: string, age: number) : string {
    return `I am ${name} and I am ${age} years old`
}

ts在傳參時都會規(guī)定參數(shù)的類型,還有它返回值的類型也會在函數(shù)執(zhí)行之前都已經(jīng)規(guī)定好,如果傳參的類型和返回值的類型不符合,ts編譯會報錯

  • 匿名函數(shù)
const getInfo = (name: string, age: number):string => {
     return `I am ${name} and I am ${age} years old`
}

二、ts中的參數(shù)

  • 默認參數(shù)

funciton getInfo(name:string = 'Leon', age:number) : string {
    return `I am ${name} and I am ${age} years old`
}

這跟es6的用法一樣,name不傳或者為空時,name就會取默認值Leon

  • 剩余參數(shù)

function sum(...result:number[]):number{
    return result.reduce((accumulator, currentValue) => accumulator + currentValue)
}
  • 可選參數(shù)

function getInfo(name:string ='Leon',age?:number) {
    return `hi ${name}`
}

es5里面方法的實參和形參可以不一樣,但是ts中必須一樣,如果不一樣就需要配置可選參數(shù)。==可選參數(shù)要配置到所有參數(shù)的最后面==

三、ts中的返回值

  • 沒有返回值的函數(shù)

function getInfo(name:string, age:number):void{
    console.log(`hello${name}`)
}

當函數(shù)不需要return出來東西時,我們認為這個函數(shù)的返回類型為void(空)

  • 推斷類型(ts自動識別類型(按上下文歸類))

不加返回類型的時候

function add(x: number, y: number) {
    return x + y
}
//ts會自動識別出返回類型為number

四、函數(shù)調(diào)用

ts的函數(shù)調(diào)用和普通的函數(shù)沒有區(qū)別,可以在函數(shù)名后面加括號調(diào)用,也可以用call,apply,bind來調(diào)用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容