参数类型及返回类型构成了函数类型。
let myAdd: (x: number, y: number) => number =
function(x: number, y: number): number { return x+y; };
在参数名称后面添加问号?
定义可选参数。
function buildName(firstName: string, lastName?: string) {
if (lastName)
return firstName + " " + lastName;
else
return firstName;
}
let result1 = buildName("Bob"); // works correctly now
可选参数位置必须在非可选参数后面。
默认参数是指在参数定义时给参数指定值,当用户调用函数时未传该参数值或传undefined
值时,函数使用默认值作为该参数的值。
function buildName(firstName: string, lastName = "Smith") {
return firstName + " " + lastName;
}
let result1 = buildName("Bob"); // works correctly now
let result2 = buildName("Bob", undefined); // still works
默认参数可定义在参数列表中任意位置。当默认参数位置在非可选(默认)参数前,调用时必须传递对应的值或
undefined
值。
通过在参数名称前添加省略号...
来定义变长参数,变长参数类型必须是数组类型。
function buildName(firstName: string, ...restOfName: string[]) {
return firstName + " " + restOfName.join(" ");
}
变长参数位置必须在参数列表最后。