let a;
// a 隐式的any,最好不要这样
a = 1;
a = "1afafa";
// unknown 和 any区别
let c: number;
let d: unknown;
let b: any = "asfasf";
c = b;
// unknown 是一个类型安全的any,他不能像any那样随意赋值给别的变量
if (typeof d === "number") {
c = d;
}
// 类型断言
c = d as number;
c = <number>d;
// void 和 never 的区别
// never 不会有函数返回,例如在函数中用了new Error('saf'),或者死循环
// 定义对象
let man:{
name:string,
age?:number,
gender:1|0,
[p:string]:any //这样可以往上面添加任何属性
};
// 定义函数
let func:(a:number,b:string)=>number
// 定义数组
let f:Array<number>
let e:string[]
// 定义元祖(长度固定)
let h:[number,number]
// 定义枚举
enum Gender{
male,
female
}
Gender.male
// type 类型别名
type test=1|2|3|4
let g:test