函数是JavaScript应用程序的基础。 它帮助你实现抽象层,模拟类,信息隐藏和模块。 在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义 行为的地方。 TypeScript为JavaScript函数添加了额外的功能,让我们可以更容易地使用。
类型
// 参数不能多传和少传,类型要一一对应
const f = (a: number, b: string): void => {
console.log(a, b);
}
f(1, '1')
可选参数?
const f = (a: number, b?: string): void => {
console.log(a, b);
}
f(1)
函数参数的默认值
const f = (a: number = 2, b?: string): void => {
console.log(a, b);
}
f(1)
接口定义函数
//定义参数a和b :后面定义返回值的类型
interface zl {
(a: number, b: string): string
}
const f: zl = (a: number, b: string): string => {
return a + b;
}
f(1, '1')
定义剩余参数
const f = (a: number[], ...item:any[]): any[] => {
return [...a,...item];
}
let a:number[]=[1,2,3];
console.log(f(a,'11',{aa:22}));
函数重载
重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
如果参数类型不同,则参数类型应设置为 any。
参数数量不同,可以将不同的参数设置为可选。
function f(a:number):void
function f(a:number):number
function f(a:number,b:number):number
function f(a:any,b?:any):number
function f(a:number,b?:any):number{
return a;
}