Typescript极简版笔记--函数

86 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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;