十、TypeScript 之function可選參數和默認參數

默認參數( = )就是能夠給 參數一個默認值 同時也能夠給指定一個類型函數

const add = (a: number = 10, b: number = 20): number => {
     return a + b
};
let result = add();
console.log(result);      // 30

由於指定了默認參數 add() 函數中在沒有傳遞任何參數的時候 就按照給出的默認值去執行spa

那什麼是可選參數?code

const add = (a: number = 10, b: number = 20, c: number): number => {
     return a + b + c
};
let result = add(undefined, undefined);

上面 add() 函數設定了3個參數 可是我在執行的時候只傳遞了 2 個佔位參數圖片

那麼這樣就會報錯了:it

圖片描述

意思是: 沒有傳遞一個‘c’的參數;console

在 js 中均可以不傳遞全部參數的 那麼如何解決這個問題呢?class

兩個方法:方法

一、直接 用 undefined 作佔位符傳遞一個 c 參數進去就行了im

const add = (a: number = 10, b: number = 20, c: number): number => {
     return a + b + c
};
let result = add(undefined, undefined, 30);    // 60

二、可選參數上場了:img

可選參數( ? )就是 這個參數能夠是不傳的

const add = (a: number = 10, b: number = 20, c?: number): number => {
     return a + b + c
};
let result = add();
console.log(result);      // 30

這樣的函數方法 一個參數都不用傳遞 還能夠正常運行 是否是很 cool

相關文章
相關標籤/搜索