1、对象类型声明
1 let a :{name:string,age:number}; 2 a = {name:"John",age:30};
如果想设定多个参数且不确定参数类型,可用any,类似于参数列表,不限制参数个数和类型
1 let a :{name:string,age:number,[pro:string]:any}; 2 a = {name:"John",age:30,pro1:100,pro2:"Hello"};
解析:[pro:string]:any 任意类型,可以理解为参数列表。:string指定参数名类型
2、设置函数结构的类型声明
语法:
let 函数名: (参数列表) => 返回值类型;
let add: (a:number,b:number) => number; add = function(a,b){ return a+b; }
也可以在定义函数的同时给定参数和返回值类型
let add = function(a:number,b:number):number{ return a+b; }
3、数组类型声明
语法:
··类型[] 语法:
let 变量名: 类型[] = [元素1,元素2,....];
1 let arr: number[] = [1,2,3,4,5];
··Array<类型> 语法:
let 变量名: Array<类型> = [元素1,元素2,....];
1 let arr: Array<number> = [1,2,3,4,5];
4、元组类型声明
元组就是固定长度的数组
let tuple: [string, number] = ["hello", 10];
5、枚举类型声明
枚举就是一组命名常量
enum Gender {Male, Female};
1 enum Gender { Male=0, Female=1}; 2 let zs :{name:string,gender:Gender}; 3 zs = {name:"张三",gender:Gender.Male}; 4 console.log(zs.gender);
enum 在定义枚举类型时,如果没有给定具体值,默认从0开始排
例如:
1 enum Color {Red,Green,Blue};
Color.Red; // 红色
获取枚举类型有两种方式:
1、Color.Red;
2、Color['Green'];