欢迎光临散文网 会员登陆 & 注册

TypeScript 类型基础——简单类型

2023-07-20 13:34 作者:没用软件开发日记  | 我要投稿

基本类型 string,number,和boolean作为最基本的类型可直接标记字段。

interface关键字可用来声明接口,接口是TS中引入的一个类型约束概念,可用来描述某一种对象的类型结构,对结构中可能为“undefined”的字段(在对象实体中可能不存在该字段或者该字段值为undefined)声明时冒号前要加问号,表示“可选”(在ts中和js相同,当访问对象上不存在的字段时会获得undefined值,也就是说被赋值为undefined的字段和不存在的字段某种意义上相同,所以此处使用可选这个词)。

使用示例:

interface使用示例


type关键字可用来声明“类型”,类型也是TS中引入的一个类型定义概念,写法上是将一个定义好的类型描述结构通过“=”号赋值给一个被type标记的字段,类型结构中可能不存在的字段冒号前加问号表示。

使用示例:

interface vs type

接口和类型之间看似界限模糊,但是interface具有一个type并不具备的能力,接口具有“可融合”的特性:

    在同一作用域当中被重复定义的接口的定义内容会累加到一起(两次定义内容取并集,第二次作为第一次的补充或者覆盖),所以在定义user的时候会提示缺少gender字段。

    另外在我的个人习惯上,更愿意将interface作为前后端传输数据的类型约束使用(服务端接口函数的参数约定,返回值描述),并且以大写字母开头让她看起来更不像一个字段(字段的定义往往伴随着类型的描述:const a : Type = xxx):

在type的使用上我更倾向将其用做前端项目范围内的(也就是前端自用的)对象的声明,比如我们为了统一格式编写时间转换函数时,函数的参数可以用一个我们自己定义的type来约束:


下一篇记录一下联合类型。




TypeScript 类型基础——简单类型的评论 (共 条)

分享到微博请遵守国家法律