TypeScript 函数参数 函数重载
TypeScript 函数参数 函数重载
可选参数
可选参数使用问号标识 ?,可选参数必须跟在必需参数后面。
function buildName(firstName: string, lastName?: string): string {
return firstName + "-" + lastName;
}
console.log(buildName("b", "qt")) // b-qt
console.log(buildName("bqt")) // bqt-undefined
默认参数
- 默认参数必须跟在必需参数后面
- 可选参数和默认参数的顺序没有要求
- 参数不能同时设置为可选和默认
function buildName(firstName: string, lastName: string = "xxx"): string {
return firstName + "-" + lastName;
}
console.log(buildName("b", "qt")) // b-qt
console.log(buildName("bqt")) // bqt-xxx
剩余参数
即 Java 中的 可变参数。
function buildName(firstName: string, ...restOfName: string[]): string {
return firstName + "-" + restOfName.join("-");
}
console.log(buildName("bqt")) // bqt-
console.log(buildName("b", "qt")) // b-qt
console.log(buildName("b", "q", "t")) // b-q-t
函数重载
TypeScript 中的 函数重载 和 Java 等不太一样。
定义函数重载需要定义若干重载签名和一个实现签名。
重载签名定义函数的形参和返回类型,但没有函数体。
// 定义重载签名,没有函数体
function disp(x: string): void;
function disp(y: number): void;
function disp(x: string, y: number): void;
// 定义实现签名,有函数体
function disp(x: any, y?: any): void {
console.log(`${x}-${y}`);
}
disp("abc"); // abc-undefined
disp(1); // 1-undefined
disp("abc", 1); // abc-1
2016-12-13
本文来自博客园,作者:白乾涛,转载请注明原文链接:https://www.cnblogs.com/baiqiantao/p/6170027.html

浙公网安备 33010602011771号