Skip to Content

核心语法

基础类型

  • TS中基础type有:string,number,boolean, null,undefined

枚举类型

  • 可以使用关键字enum来声明一个枚举类型,这说明该类型变量只能使用已经枚举的值
  • 可以使用变量名.枚举值或者变量名[枚举索引]来访问枚举值
enum myEnum = { A,B,C} const a = myEnum.A//a=A const b = myEnum[1]//b=B

类型注解

变量

  • 在变量后面使用: type来标识变量的类型
  • type可以是TS中的基础类型,或者是一个具体的值
let t0 :number = 1

函数

  • 可以在函数后面进行类型注解,这表明该函数将会返回值是该类型
  • 在参数后面加?表示该参数可选,同时必选参数应放在可选参数左侧
  • 可以使用展开运算符...来省略剩余参数
function MyFn(a: number, b?:string, ...rest: number[]) :number{ return a+100 }

数组与元组

  • 可以使用: type[]或者: Array<type>对数组进行类型注解,这会使得数组内只能存储该type的值
  • 可以使用更为苛刻的元组来限制数组中的元素类型和个数,在类型后面使用?来表示该类型可选
let t1 :Array<number> = [1, 2, 3] let t2 :[number, string, number?] = [1, 'a']

类型断言

  • 在字段后面使用as type来断言该字段的类型

联合类型

  • 可以使用|来联合类型

类型别名

  • 可以使用关键字type来为类型取别名,常用于重复使用的联合类型
type MyUserName = string | number let myName: MyUserName = Asta

接口

  • 可以使用interface来声明一个接口,这个接口被视为一个自定义类型,可以在声明一个对象时进行注解
interface Obj { name: string, age: number } const obj: Obj = { name: Asta, age: 20 }

泛型

  • 可以在函数名后面使用<T>来声明一个泛型,并可以在函数的参数以及返回值中使用该泛型
  • 在使用该函数时,可以使用任意类型来替换T,以实现函数的灵活复用
  • TS能够智能地进行 类型推断 ,凡是能够推断出来的,就可以省略
function MyFn<T>(a: T, b?:T, ...rest: T[]) :T{ return a+100 } const res = MyFn<number>(30, 20) const res = MyFn(30, 20)//泛型T为number能够推断
Last updated on