函数类型
//注意,参数不能多传,也不能少传 必须按照约定的类型来
const fn = (name: string, age:number): string => {
return name + age
}
用接口定义函数类型
采用函数表达式接口定义函数的方式时,对等号左侧进行类型限制,可以保证以后对函数名赋值时保证参数个数、参数类型、返回值类型不变。
interface SearchFunc{
(source: string, subString: string): boolean;
}
可选参数
注意点:可选参数后面不允许再出现必需参数
//通过?表示该参数为可选参数
const fn = (name: string, age?:number): string => {
return name + age
}
参数默认值
const fn = (name: string = "我是默认值"): string => {
return name
}
fn()
剩余参数
function push(array: any[], ...items: any[]) {
items.forEach(function(item) {
array.push(item);
});
}
let a = [];
push(a, 1, 2, 3);
函数重载
重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
解决:为同一个函数提供多个函数类型定义来进行函数重载,编译器会根据这个列表去处理函数的调用。
//如果参数类型不同,则参数类型应设置为 any。
//参数数量不同你可以将不同的参数设置为可选。
function fn(params: number): void
function fn(params: string, params2: number): void
function fn(params: any, params2?: any): void {
console.log(params)
console.log(params2)
}
本文介绍了JavaScript中如何使用函数类型、接口进行函数定义,包括参数的可选性、默认值设定,以及如何通过函数重载处理不同参数组合。着重讲解了类型限制的重要性及编译器在处理函数调用时的角色。
1840

被折叠的 条评论
为什么被折叠?



