- 类型声明是TS非常重要的一个特点
- 通过类型声明可以指定TS中变量(参数、形参)的类型
- 指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错
- 简而言之,类型声明给变量设置了类型,使得变量只能存储某种类型的值
一下就是常用的类型
let word: 10;
word = 10
let word1: 10 | 'hello';
word1 = 10;
let any_var: any;
any_var = 20;
any_var = 'hello'
let _var;
_var = 10;
_var = 'hello'
let unknown_var: unknown;
unknown_var = 123;
unknown_var = 'qwer'
let l: string;
unknown_var = 'hello';
l = unknown_var as string;
l = <string>unknown_var;
function fn(a: number, b: number):number {
return a + b;
}
let res = fn(123, 123);
console.log(res);
let d: (a: number, b: number) => number;
d = function (n1,n2) {
return n1 + n2;
}
let obj: { name: string ,age?:number};
obj = { name: '1243', age: 12 }
let c: { name: string, [propName: string]: any }
c = { name: 'lin', 12: 18 }
let arr: number[];
arr = [1, 2]
let arr1: Array<string>;
arr1 = ['q', 'w'];
let arr2: [number, string];
arr2 = [1, 'l']
enum Gender {
'male' = 0,
'female' = 1,
}
let obj_enum: { name: string, gender: Gender };
obj_enum = {
name: 'lin',
gender: Gender.male
};
let new_obj: { name: string } & { age: number };
new_obj = { name: 'lin', age: 12 };
type myType = string|number;
let m: myType;
let n: myType;
let j: myType;
m = 'lin';
n = 12;