TypeScript--类型问题汇总

学过js你认识的类型:booleannumberstringundefinednullsymbolobject

你可能不认识的类型:voidanyunknownnever

TypeScript--类型问题汇总_第1张图片

  • 类型声明是TS非常重要的一个特点,通过类型声明可以指定TS中变量(参数、形参)的类型。指定类型后,当为变量赋值时,TS编译器会自动检查值是否符合类型声明,符合则赋值,否则报错
  • TS拥有自动的类型判断机制:当对变量的声明和赋值是同时进行的,TS编译器会自动判断变量的类型,所以如果你的变量的声明和赋值时同时进行的,可以省略掉类型声明
  • js中的函数是不考虑参数的类型个数的,而TS的函数参数不仅限制个数还限制类型。

我们先来看看,TypeScript给变量指定类型的语法(类型注解)是什么

TypeScript--类型问题汇总_第2张图片

对象

TypeScript--类型问题汇总_第3张图片

一般来说,我们对于对象的类型检查一般是检查对象中有哪些属性,属性是什么类型。

可以用{} 来指定对象中可以包含哪些属性 语法:{属性名: 属性类型, ...}

TypeScript--类型问题汇总_第4张图片

属性多了少了都不行

TypeScript--类型问题汇总_第5张图片

可选属性,在属性名后面加一个 ?

let obj: {name: string, age?: number}
obj = {name: 'yk', age: 18}
obj = {name: 'yk'}

如果后续属性不确定叫什么名字,也不确定是什么类型,那么可以这样写[propName: string]: unknown

// 定义对象结构
let obj: { name: string, [propName: string]: unkn

你可能感兴趣的:(typescript,前端)