ts类型
531613812157_.pic_hd.jpg
声明变量如果不指定类型,则TS解析器会自动判断变量类型为any
---unknown类型
let e:known;
e=10;
e="hello";
e=true;
let s:string;
s=e;//则会报错,unknown类型的值不能赋给固定类型的变量
//any类型则可以赋值给任意值;
处理方式如下:
if(typeof e === 'string') {

s=e;

}
或 类型断言,用来告诉解析器变量的实际类型
/**

  • 语法:
  • 变量 as 类型;
  • <类型>变量

*/
s=e as string;
s=<string>e;

---void表示空,以函数为例,就表示没有返回值的函数
function ():void {
}
---never表示永远不会返回值,如函数只报错
function () {

throw new Error('报错了');

}
---object/function
image.png
---array
//表示字符串数组;
let a:string[];
a = ['a','b','c'];
let f:number[];//表示数值类型数组
等同于let g:Array<number>
---tuple元祖类型
//定义一种类型后,按照类型定义数组,如:固定长度的数组
let h: [string,string]
h = ['22','hello'];
---enum枚举类型
`enum Gender{

Male: 0,
Female: 1

}
let i:{name:string,gender:Gender};
i={

name:'wang',
gender:Gender.Male

};`

特殊表达方式
//& 表示同时;j满足name和age同时满足条件类型
let j: {name: string } & {age: number};
j={name:'hua',age:12};

类型别名
type myType = string;
let a:myType;
type myNumber = 1 | 2 | 3 | 4;
let b:myNumber;


‭肉斯王子
18 声望2 粉丝