TypeScript 語言中的函數參數


形參和實參

形參的使用

函數定義的時候寫的參數是形參。從字面意義上我們可以看出,形參就是形式上的參數。我們定義了形參也就規定了此函數的參數個數和參數類型,規范了函數。

// 形參的使用
function searchFriend(age:number):string{
    return `找到了${age}歲的小姐姐`
}
形參的使用

searchFriend 函數中定義了一個形參 age,類型為數值類型 number。

實參的使用

調用函數時傳遞的具體值就是實參。同樣從字面理解,實參就是真實的參數,我們在使用的時候,具體真實傳遞過去的就是實參。

// 形參的使用
function searchFriend(age:number):string{
    return `找到了${age}歲的小姐姐`
}

// 實參
var age:number = 18
// 實參的使用
var result:string = searchFriend(age)

console.log(result) // 找到了18歲的小姐姐
實參的使用

var age 就是一個實參,是個具體數值 number 18,配合 searchFriend 函數使用而定義、傳遞的參數

注意

在函數調用的時候,我們需要按照形參的規則傳遞實參,有幾個形參就要傳遞幾個實參,並且每一個實參的類型要與對應的形參類型一致。

TypeScript語言中的函數參數

TypeScript的函數參數是比較靈活的,它不像那些早起出現的傳統語言那么死板。在TypeScript語言中,函數的形參分為:可選形參、默認形參、剩余參數形參等。

1.有可選參數的函數

可選參數,就是我們定義形參的時候,可以定義一個可傳可不傳的參數。這種參數,在定義函數的時候通過?標注出來。

// 可選參數函數
function searchFriend(age:number,stature?:string):string{
    let yy:string = ''
    yy = `找到了${age}歲`
    if (stature!=undefined) {
        yy = yy + stature
    }
    return `${yy}的小姐姐`
}

var result:string = searchFriend(22)
console.log(result) // 找到了22歲的小姐姐

var result:string = searchFriend(22, '大長腿')
console.log(result) // 找到了22歲大長腿的小姐姐
可選參數函數

searchFriend 函數中 stature 就是一個可選參數,可以看到在傳遞實參時,此參數可傳可不傳。

2.有默認參數的函數

有默認參數就更好理解了,就是我們不傳遞實參的時候,函數自己會設置有一個默認值,而不是 undefined

// 默認參數函數
function searchFriend(age:number=18,stature:string='大眼睛'):string{
    let yy:string = ''
    yy = `找到了${age}歲`
    yy = yy + stature
    return `${yy}的小姐姐`
}

var result:string = searchFriend()
console.log(result) // 找到了18歲大眼睛的小姐姐
默認參數函數

searchFriend 函數中 age 和 stature 參數現在都設置有默認值,使用函數時 () 中未傳入參數,也相當於已經傳入實參 18,‘大眼睛’。

但是現在我還想要找到之前那個 22 歲的大長腿小姐姐怎么辦?

此時只需再次傳入實參即可替換

// 默認參數函數
function searchFriend(age:number=18,stature:string='大眼睛'):string{
    let yy:string = ''
    yy = `找到了${age}歲`
    yy = yy + stature
    return `${yy}的小姐姐`
}

var result:string = searchFriend()
console.log(result) // 找到了18歲大眼睛的小姐姐

var result:string = searchFriend(22, '大長腿')
console.log(result) // 找到了22歲大長腿的小姐姐
默認參數函數傳入實參

3.未知數目參數的函數

有時候我們有這樣的需求,我傳遞給函數的參數個數不確定。

// 未知數目參數函數
function searchFriend(...xuqiu:string[]):string{
    let yy:string = '找到了'
    for (let i = 0, len = xuqiu.length;i < len;i++) {
        yy = yy + xuqiu[i]
        if (i + 1 < xuqiu.length) {
            yy = yy + '、'
        }
    }
    
    yy = `${yy}的小姐姐`

    return yy
}

var result:string = searchFriend('22歲', '大眼睛', '瓜子臉', '大長腿')
console.log(result) // 找到了22歲、大眼睛、瓜子臉、大長腿的小姐姐
未知數目參數函數

把傳入的參數定義為一個數組,使用了 es6 解構展開傳入其中。

原文地址:http://jspang.com/post/typescript.html?tdsourcetag=s_pcqq_aiomsg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM