联合类型
凯 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
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
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
2
3
4
5
6
7
8
9
10