ts函数类型
函数类型定义 基本定义 function add1(n1:number, n2:number):number{ return n1 + n2 } let add2 = (n1:numbe
ts函数类型
发布时间:2023-10-12 (2023-10-12)

函数类型定义

基本定义

function add1(n1:number, n2:number):number{
    return n1 + n2
}

let add2 = (n1:number, n2:number):number=>{
    return n1+n2
}

函数参数

可选参数

在参数名的后面,加一个?,表示该参数可选,如果不传,那这个参数就是undefined

并且在实际使用中,要进行类型判断

function add(n1:number, n2?:number):number{
    if (typeof n2 === "undefined"){
        return n1
    }
    return n1 + (n2 as number)
}

// 要么不传,要么传正确的类型
add(1)
add(1, 2)
add(1, "3") // 报错

默认值

function add(n1:number, n2:number = 10):number{
    return n1 + n2
}

console.log(add(1))  // 11
console.log(add(1, 2)) // 3

默认值和可选参数不能同时出现!

参数为接口类型

interface getUserListRequest {
    page?:number
    limit?:number
    key?:string
    name?:string
}

function getUserList(params:getUserListRequest){
    console.log(params.limit) // 有类型提示
}

函数重载

function addFn(n1:number, n2:number):number

function addFn(n1:number):number

function addFn(n1:number, n2:number = 10):number{
    return n1 + n2
}

console.log(addFn(1))
console.log(addFn(1, 20))