ts 类型
申明变量如果不指定类型,则 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
—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;