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;
发表回复