文章
问答
冒泡
TypeScript常见的类型
number | string | boolean
字面量 | 限制变量的值就是该字面量的值
	let a: 10;
	a = 10;
	// a = 11; 报错
	let b: 'A' | 'B'; 联合类型
	b = 'A'
	b = 'B'
	// b = 'C' 报错
any | 任意类型
	对一个变量设置any,相当于关闭了TS的类型检测
	使用TS时不建议使用any
	let a: any(显式的any)
	let a(隐式的any)
unknown | 任意安全的类型,表示未知类型的值
	unknown类型的变量不能直接赋值给其他变量
	let e: unknown;
	let s : string;
	s = e ;报错
	s = e as string; 不报错,这种东西叫类型断言
	s = <string>e; 这么写也是一样的,相当于来了个强制类型转换
void | 空值或undefined
	变量中用的不多,主要限制函数的返回值
	function fn(): void{ |return | return null | return undefined} 表示没有返回值
never | 没有值,不能是任何值
	变量中用的不多,主要用于报错
	function fn2(): never{
    		throw new Error('报错专用')
	}
object | 对象
	let a: object;
	a = {};
	a = function(){};
	a = []
	let b :{name: string, age?: number}; ?表示可选属性
	let c :{name: string, [propName: string]: any} name是必须的,后面可以加属性是字符串的任意类型
	let d: (a: number, b: number) => number; //设置函数结构的类型申明
	d = function(a:number, b: number){
    		return a + b
	}
array | 数组
	类型[]
	Array<类型>
	let e: string[]; //表示字符串数组
	let f: number[]; //表示数字数组
	let g: Array<number>; //表示字符串数组
touple | 元组 [1, 2, 3] 固定长度的数组
	[类型, 类型...]
	let h: [string, number] 
enum | 枚举 enmu{A, B} TS中新增的类型
	enum Gender { 申明
    		Male = 0,
    		Femal = 1
	}
	let i: {name: string, gender: Gender} 使用
	i = {
    		name: 'TOM',
    		gender: Gender.Femal 使用
	}
	console.log(i.gender === Gender.Male) 使用
补充:
	// &表示与 同时满足
	let j: {name: string} & { age: number }
	j = {
    		name: 'tom',
    		age: 18
	}

	// 类型别名 自定义类型
	type myType = 1 | 2 | 3 | 4 | 5;
	let k: myType;

typescript

关于作者

zhyim
学海无涯,回头是岸
获得点赞
文章被阅读