TS的函数重载、类型合并、类型断言

函数重载
let list5 = [1, 2, 3, 4]

function findNum(id: number): number[]

function findNum(): number[]

function findNum(list: number[]): number[]

function findNum(ids?: number | number[]): number[] {

    if (typeof ids === 'number') {

        return list5.filter((num) => num === ids)

    }

    else if (Array.isArray(ids)) {

        return list5.concat(ids);

    }

    else {

        return list5;

    }

}
类型合并
interface People {
    name: string,
    age: number
}

interface Man {
    sex: number
}

function getUser(data: People & Man): void {
    console.log(data)
}

getUser({

    name: 'cqs',

    age: 27,

    sex: 1

})
类型断言
function funs(str: number | string): void {
    console.log((str as string).length)
}


interface A {
    a: string
}

interface B {
    b: string
}

function fun1(str: A | B) {

    console.log((<B>str).b);

    console.log((str as B).b);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值