联合类型

5/22/2024 ts

# 1.联合类型 【掌握】

变量 的类型 可能是 类型1 也有可能是类型2 ...

//定义变量 可能是数字 字符串 布尔值
let a:number|string|boolean = 0;
a = 'xx'
console.log(a);

let b:string = a;
console.log(b);
1
2
3
4
5
6
7
//自定义联合类型
interface User{
    name:string,
    age:number
}
interface Account{
    account:string,
    password:string
}

//联合类型
// let user1:User|Account = {account:'xxx',password:'xxxx'} 
let userList:Array<User|Account> =[
    {name:'xxx',age:44},
    {account:'xxxxx',password:'xxxxxx'},
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • 案例
//封装一个函数 返回一个传入的数字 传入的函数体
function fn(a:number|Function):number{
    if(typeof a=='number'){
        return a;
    }else{
      return a()  
    }
}
console.log(fn(100)  );  //100
console.log(fn(()=>2000) );  //2000
1
2
3
4
5
6
7
8
9
10