//object表示一个对象
let g:object;
g={};
g=function(){};
//{}用来指定对象中可以包含哪些属性
//语法:{属性:属性值,属性:属性值}
//在属性名后面加?表示属性是可选的
let f:{name:string,age?:number};
f={name:'张三',age:20};
//[propName:string]:any 表示任意类型的属性
let x:{name:string,[propName:string]:any};
x={name:'张三',age:33,gender:'男生'};
// 设置函数结构的声明类型
//语法:(形参:类型,形参:类型……)=>返回值
let z:(aa:number,b:number)=>number;
z=function(n1,n2):number{
return n1+n2;
}
//string[] 表示字符串数组
let ee:string[];
ee=['a','b','c'];
//数组类型声明:类型[] 或者 Array<类型>
//number[]表示数值类型的数组
let ff:number[];
let gg:Array<number>;
gg=[1,2,3,4]
//元组:元组就是固定长度的数组
let h:[string,string];
h=['hello','abc'];
//enum 枚举
enum Gender{
Male=0,
Female =1
}
let i:{name:string,gender:Gender};
i={
name:'张三',
gender:Gender.Female
}
console.log(i.gender===Gender.Male)
//&表示同时
let jj:{name:string}&{age:number};
jj={name:'cc',age:18}
//类的别名
type myType=1|2|3|4;
let k:myType;
let l:myType;
k=2;