typesc04_ts中的类型2

ts复杂类型:
object:任意的js对象
array:任意js数组
tuple:元组,ts新增类型,固定长度的数组
enum:枚举,ts中新增的类型
 
/* 
ts复杂类型:
object:任意的js对象
array:任意js数组
tuple:元组,ts新增类型,固定长度的数组
enum:枚举,ts中新增的类型
*/
//1.object
let a :object;
a ={}
//{}用来指定对象中可以包含哪些属性
//语法:{属性名:类型},在属性名后面加上一个问号表示属性是可选的
let b:{name:string,age?:number}
b={name:'孙悟空',age:21}
let c:{name:string,[propName:string]:any}//propName:string]:any表示任意属性
c = {name:'猪八戒',age:22,gender:'男'}
let d :(a:number,b:number)=>number//设置函数的结构的类型的声明:(形参:类型,形参:类型,...)=>返回值
d = function(n1,n2):number{
    return n1+n2
}
//2.array
/* 
语法:
类型[]
Array<类型>
*/
let e :string[]
e = ['a','b']
let f : number[]
f = [1,2,3,4]
let g : Array<number>
g = [1,3,4]

/* 
3.tuple,存储效率比array高
语法:[类型,类型,类型]
*/
let h :[string,string]
h=['h','g',]

/* 
4.enum:枚举
*/
enum Genger{
    Male=0,
    Female=1
}
let i :{name:string,gender:Genger}
i = {name:'孙悟空',gender:Genger.Male}
console.log(i.gender ===  Genger.Male) 
let j : {name:string} & {age:number}//&表示同时的意思
j = {name:'孙悟空',age:21}
type mytype = 1|2|3|4 //类型别名,可以简化类型使用
let k:mytype

 

posted @ 2022-12-22 22:07  SadicZhou  阅读(13)  评论(0编辑  收藏  举报