參數與回傳値的型別定義
TypeScript的函式寫法有以下需求
- 必須指定參數型別
- 必須指定回傳値型別
function hello(name: string, number: number): string{ //這邊指定回傳值型別
return `hello ${name} and ${number}`;
}
console.log(hello("blank", 100)); //hello blank and 100
如果函式沒有回傳値的話,回傳値的型別為「void」
function hello(name: string): void{
return `hello ${name}`;
}
console.log(hello("blank")); //hello blank
省略指定參數
參數的冒號「:」前面加問號「?」表示這個參數可以省略
function hello(name?: string): string{
return `hello ${name}`;
}
console.log(hello()); //hello undefine
//如果沒有設問號的話,使用hello()時,括號裡面一定要放參數。直接使用hello()的話會造成錯誤。
函式內定義參數
可以在定義函式時就指定好參數內容
function hello(name: string = 'Taro'): string{
return `hello ${name}`;
}
console.log(hello()); //hello Taro
指定複數參數
參數前面多加「…」就可以指定數個同類型的參數
function sum(...values: number[]) {
let total = 0;
for (let i: number = 0; i < values.length; i++) {
total += values[i];
}
return total;
}
console.log(sum(10, 100, 10000, 100000)); //110110