侧边栏壁纸
博主昵称
404

  • 累计撰写 17 篇文章
  • 累计收到 0 条评论
ts

函数扩展

404
404
2022-07-28 / 0 评论 / 7 阅读 / 正在检测是否收录...
//注意,参数不能多传,也不能少传 必须按照约定的类型来
const fn = (name:string, age:number): string => {
    return name + age;
}
fn('zhangsan',18)
// 函数的可选参数?
const fn1 = (name:string, age?:number) :string => {
    return name;
}

fn1('zhangsan')
//接口定义函数
interface Add{
    (num:number,num2:number):number
}

const fn3:Add = (num:number, num2:number) : number => {
    return num + num2;
}
fn3(19,123)

interface User{
    name:string,
    age:number
}

function getUserInfo(user:User):User{
    return user;
}
// 定义剩余参数
const fn4 = (array:number[],...items:any[]):any[] => {
    console.log(array,items)
    return items
}


let a:number[] = [1,2,3]
fn4(a,'4','5','6')
// 函数重载
// 重载是方法名字相同,而参数不同,返回类型可以相同也可以不同。
// 如果参数类型不同,则参数类型应设置为 any。
// 参数数量不同你可以将不同的参数设置为可选
function n1(params: number): void
 
function n1(params: string, params2: number): void
 
function n1(params: any, params2?: any): void {
 
    console.log(params)
 
    console.log(params2)
 
} 
n1(123)
n1('123',456)
0

评论 (0)

取消