携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情
函数类型
let myAdd = function(x: number, y: number): number { return x + y; };
//function add(x: string, y?: number): number { //?表示可选参数 可不传
//不确定返回类型时 用void
//也可以让编辑器推断出类型
//
return x + y;
}
let result3 = add("Bob", "Adams", "Sr.");//err 多传入
let result3 = add("Bob");//success
默认参数
function buildName(firstName = "Will", lastName: string) {
return firstName + " " + lastName;
}
let result1 = buildName("Bob"); // error, too few parameters
let result3 = buildName("Bob", "Adams"); // okay and returns "Bob Adams"
let result4 = buildName(undefined, "Adams"); // okay and returns "Will Adams"
//默认参数的位置,如果在前面的话,需要传入undefined
function buildName( lastName: string,firstName = "Will",) {
return firstName + " " + lastName;
}
let result1 = buildName("Bob"); // error, too few parameters
let result3 = buildName("Bob", "Adams"); // okay and returns "Bob Adams"
剩余参数
当需要传入不定量的参数时候,可以用到剩余参数,将剩余参数当成一个数组,在使用扩展运算符解析成多个参数
function buildName(firstName: string, ...restOfName: string[]) {
return firstName + " " + restOfName.join(" ");
}
let buildNameFun: (fname: string, ...rest: string[]) => string = buildName;