全部 / 前端 / 技术 · 2022年9月12日 0

TypeScript – Union Types

unions-type

Union Types 称为联合类型,就是把存在的类型进行组合成为一个新的类型。比如我们定义一个函数:可以接收字符串或数字。

function print(id:string | number){
    console.log(id)
}

当你要对参数做一些操作时,TypeScript 只允许联合的所有类型都有的方法。

function print(id:string | number){
    console.log(id.toUpperCase())
}

这样就会报错,因为 number 没有 toUpperCase 方法。解决方法是:使类型更加精准。

function print(id:string | number){
    if(typeof id === 'string'){
        console.log(id.toUpperCase())
    }else{
        console.log(id)
    }
}

还有一种情况,联合的类型有相同的方法:

function print(id:number[] | string){
    console.log(id.slice(0,3))
}