如何将TypeScript对象键名限制在特定取值范围内?

2026-04-05 08:1011阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1068个文字,预计阅读时间需要5分钟。

如何将TypeScript对象键名限制在特定取值范围内?

当使用 TypeScript 时,我们希望利用其提供的类型系统来限制代码的编写方式,确保对象的键值,并且不超出预期。例如,如果我们有一个对象存储每个年级的人名,类型定义可能如下:

typescripttype Students=Record;

当我们使用 TypeScript 时,我们想利用它提供的类型系统限制代码的方方面面,对象的键值,也不例外。

譬如我们有个对象存储每个年级的人名,类型大概长这样:

type Students = Record<string, string[]>;

理所当然地,数据就是长这样:

const students: Students = { Freshman: ["David", "John"], sophomore: [], Junior: ["Lily"], Senior: ["Tom"], };

限制对象键名为枚举

上面数据类型的问题是,年级是有限的几种可值取,而该对象上可任意添加属性,这样显得数据不够纯粹。

所以我们新增枚举,列出可取的值:

export enum Grade { Freshman, sophomore, Junior, Senior, }

现在,把对象的键名限制为上面枚举就行了。

阅读全文
标签:取值

本文共计1068个文字,预计阅读时间需要5分钟。

如何将TypeScript对象键名限制在特定取值范围内?

当使用 TypeScript 时,我们希望利用其提供的类型系统来限制代码的编写方式,确保对象的键值,并且不超出预期。例如,如果我们有一个对象存储每个年级的人名,类型定义可能如下:

typescripttype Students=Record;

当我们使用 TypeScript 时,我们想利用它提供的类型系统限制代码的方方面面,对象的键值,也不例外。

譬如我们有个对象存储每个年级的人名,类型大概长这样:

type Students = Record<string, string[]>;

理所当然地,数据就是长这样:

const students: Students = { Freshman: ["David", "John"], sophomore: [], Junior: ["Lily"], Senior: ["Tom"], };

限制对象键名为枚举

上面数据类型的问题是,年级是有限的几种可值取,而该对象上可任意添加属性,这样显得数据不够纯粹。

所以我们新增枚举,列出可取的值:

export enum Grade { Freshman, sophomore, Junior, Senior, }

现在,把对象的键名限制为上面枚举就行了。

阅读全文
标签:取值