默認參數( = )就是能夠給 參數一個默認值 同時也能夠給指定一個類型函數
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