在TypeScript里定义函数跟JavaScript稍微有些不同
function sum(x: number, y: number): number {
return x + y;
}
需要注意的是:
声明(定义)函数必须加 function 关键字;
函数名与变量名一样,命名规则按照标识符规则;
函数参数可有可无,多个参数之间用逗号隔开;
每个参数参数由名字与类型组成,之间用分号隔开;
函数的返回值可有可无,没有时,返回类型为 void;
大括号中是函数体。
在TypeScript语言中,函数的形参分为:可选形参、默认形参、剩余参数形参等
1.可选参数
用 ? 表示可选的参数
function buildName(firstName: string, lastName?: string) {
if (lastName) {
return firstName + ' ' + lastName;
} else {
return firstName;
}
}
let tomcat = buildName('Tom', 'Cat');
let tom = buildName('Tom');
需要注意的是,可选参数必须接在必需参数后面。
2.参数默认值
在 ES6 中,我们允许给函数的参数添加默认值,TypeScript 会将添加了默认值的参数识别为可选参数:
function buildName(firstName: string, lastName: string = 'Cat') {
return firstName + ' ' + lastName;
}
let tomcat = buildName('Tom', 'Cat');
let tom = buildName('Tom');
3.剩余参数
ES6 中,可以使用 …rest 的方式获取函数中的剩余参数(rest 参数)
function push(array: any[], ...items: any[]) {
items.forEach(function(item) {
array.push(item);
});
}
let a = [];
push(a, 1, 2, 3);