//定义变量的类型
let a:number|string
a="asdasd"
a=23
let b:number
//类型断言,用来告诉编译器变量的实际类型
let s=b as number
//定义函数的参数类型和返回值类型
let fun :(a:number,b:number)=>number
fun=function(a,b):number{
return a+b
}
console.log(fun(452,942332));
//定义数组的类型<>后面是类型
let arr:Array<number>
arr=[1,2,3]
//元组 定义数组的固定长度以及类型
let e:[number ,string]
e=[121,"sad"]
//定义对象,{属性名:属性值,属性名:属性值}必须保持一致
// 如果加了?就是可有可无
let q:{name:string,age?:number}
q={name:"江小白"}
//[propName:string]:any表示后面可以加任意的属性名和属性值
let w:{name:string,[propName:string]:any}
w={name:"sadas",age:12,a:12}
//自定义值
enum Gender{
aa=1,
bb=2
}
let i:{name:string,gender:Gender}
i={name:"小红",gender:Gender.aa}
console.log(i.gender);//输出的时1
//类型的别名
type mytype=string|number|object
let y:mytype//y就是自己定义的mytype类型