==ts==接口约束函数==

本文介绍了使用类型安全的方法定义接口约束函数,并展示了如何通过可选参数、默认参数和剩余参数来提高函数的灵活性。同时,文中提供了具体的实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 接口约束函数

interface Ifun {
    (x:number):number
}

let fn2:Ifun = function(x:number):number{
    return x + 11
}



console.log(fn2(1));
// 定义了 一个函数 求数字相加 的
let addNum:(x:number,y:number)=>number = function(x:number,y:number):number{
    return x + y
}

console.log(addNum(1,2))
// 有可能 是 两个数字 相加  或者 三个 数字相加

// 可选 参数 加一个 问号

let addNum:(x:number,y:number,z?:number)=>number = function(x:number,y:number,z?:number):number{
    // if(z){
    //     return x + y + z
    // }
    // return x + y

    if(typeof z == 'number'){
        return x + y + z
    }else{
        return x + y
    }
    
}

console.log(addNum(1,2,3))
console.log(addNum(1,2,0))
// 可选参数的注意事项
let addNum:(x:number,y:number,z?:number,a?:number)=>number = function(x:number,y:number,z?:number,a?:number):number{
    console.log(z);
    
    return x + y
} 
// 目前是有 2 必选 的参数 + 1 可选的参数  --->  3个必选的参数 + 1 可选的参数

// 3个 或者 4个 数字 参数相加

// 注意点: 也就是说 可选参数 后面 不能有其他的 必选参数了

addNum(1,2,3,4)
addNum(1,2,4)

let addNum:(x:number,y:number,z?:number)=>number = function(x:number,y:number,z?:number):number{
    return x + y
}

// 默认参数 就会把这个参数 变成 可选的参数
// function addNum(x:number,y:number=1,z:number){
//     return x + y + z
// }

console.log(addNum(1,5,1));
// 场景: 我想计算 数字 相加 :选填的参数 z --- 注意点

// let addNum:(x:number,y:number,z?:number)=>number = function(x:number,y:number,z?:number):number{
//     return x + y
// }

// 默认参数 就会把这个参数 变成 可选的参数
function addNum(x:number,y:number=1,z:number){
    return x + y + z
}

console.log(addNum(1,5,1));
// 4. 剩余参数

function add(x:number,...args:number[]):number{ 
    let sum = x
    for(let i:number=0;i<args.length;i++){
        sum+=args[i]
    }
    return sum
}

console.log(add(1));
console.log(add(1,2,3));

console.log(add(1,2,3,4,5,6,7,8,9));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值