iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
自我挑戰組

從新手開始TypeScript系列 第 25

Day25-TypeScript(TS)函式(Function)的剩餘參數(Rest Parameter)

今天要來講講TypeScript(TS)函式(Function)的剩餘參數(Rest Parameter)
那麼剩餘參數是什麼呢?

剩餘參數(Rest Parameter)可以將多個參數視為一個群組傳遞,
通常應用在不確定函式的參數個數之情況下。

注意項一

在呼叫剩餘參數函式時,
可以傳入0至多個指定型別的引數(argument)

注意項二

一個函式只能定義一個剩餘參數,
他必須出現在所有必要參數之後,
也就是參數列的最後一個

注意項三

剩餘參數的型別必須是一個陣列型別。

另外,在使用剩餘參數時的三個重點。

  • 可以將多個參數視為一個群組傳遞
  • 應用在不確定函式的參數個數的情況下
  • 定義時使用「…」剩餘運算子

接著我們來看看範例吧,

function sum(...nums: number[]): string {
    let total = 0;
    for (let i = 0; i < nums.length; i++) {
        total += nums[i];
    }
    return `Total = ${total}`;
}

範例中,sum函式包含了剩餘參數nums
用法如上面所說,
在剩餘參數前加上...剩餘運算子
而剩餘函式的型別為一個number的陣列
最後進到函式內做邏輯判斷與處理,
這邊的範例式將傳進的所有數值都相加,
最後回傳加總結果。

那我們來看看呼叫的方法吧。

let r0 = sum();//0
let r1 = sum(1, 2);//3
let r2 = sum(1, 2, 3, 4);//10
console.log(r0, r1, r2);

因為剩餘函數可以傳入不同個數的參數,
範例中可看得出來傳入不同參數個數,
皆能透過函式計算出所有的加總喔。

今日結語

今天講的剩餘參數,
在不確定函式的參數個數的情況下是很適合拿來應用的方法喔,
希望大家都懂了,
那麼繼續加油吧。


上一篇
Day24-TypeScript(TS)函式(Function)的預設參數(Default Parameter)
下一篇
Day26-TypeScript(TS)的函式多載(Overloads)
系列文
從新手開始TypeScript30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言