1 基础3类型(boolean ,string ,number)
let z:boolean;
z = true;
if(z===true) {
console.log('true');
}
let v:string;
v= 'hello';
let x:number;
x = 100;
2 字面类型
let a : 1|2|3;
//相当于类型扩展,加范围。
3 any ,unkonw
any 放弃管理 。
可以赋值给其它变量,也不报错。
unkown ,赋给其它时,会报错。
4 array 与object
//定义数组的两种方式 。
let list:number[]; //方式1.
let list2:Array<string>; //写法2
let person = {
key:'xuxing',
age:40
}
//对象解构。
let {key,age} = person;
console.log( key, age)
//展开运算,可以理解为merge 和语法糖。
let person2 = {
class: "06",
...person
}
5 void 和never
void 返回 null | undefined
never 不会到返回这一步。 通常 throw ,死循环等
6 tuple 固定长度和类型的数组
let tup1 : [string, number, number?]
tup1 = ['hello', 1]
可以设置可选元素。
//支持解构
let [a,b,c] = tup1; 与展运
7 enum 枚举
enum OrderStatus {
new = 0,
update=1,
delete = 2
}
let order :number = 1
if( order === OrderStatus.new) {
console.log('xx')
}
8 自定义类型别名
//字面类型的语法糖写法。
type Name = 11|string|22
let ab:Name;