1.基础类型
基础类型
- 布尔(Boolean) true/false(0)
- 数字(Number) 浮点数,支持二进制(0b)八进制(0o)十六进制(0x)
- 字符串(String) " " 或 ' ' , 模板字符串` ${变量} `
- 数组(Array)let list:any[] or let list: Array<any>
- 枚举(Enum)enum Color {Red, Green, Blue}(默认从0开始进行编号) let data: Color = Color.Green ,可以通过枚举值获取名
- 元组(Tuple )已知元素数量和类型的数组,各元素类型不一定相同
- Object 任意js对象 (通常指定对象中属性的类型, ‘属性名?’表示可选属性) [propName: string]: any表示任意类型的属性。 定义函数结构:let fn : (a: number, b: string) => string
- Any 任意类型 let a; 可赋值给任意对象,调用属性和方法
- unknown 未知类型(类型安全的any) 不可赋值给任意对象,调用属性和方法,可使用类型断言或类型保护.联合类型中如有unknown得到的都是unknown
- void 没有任何类型 只能赋值 null 或undefined. function fn(): {} 此时函数类型为void。
- Null null -> false !null -> true
- undefined undefined -> false !undefined -> true
- Never 永远不会返回结果 function error(): never { throw new Error(“报错报错”); }
// 类型断言 自主决定类型 尖括号<string> or as语法 as string
类型推论
let x = 3; // ts会对变量进行类型检测
let x = [0, 1, null]; // 如果有多个类型,会进行最佳通用类型的判断
类型别名
type aType = number | string
let a: aType