loading

TypeScript - 类型工具 Record

类型定义

type Record<K extends string | number | symbol, T> = { [P in K]: T; }

Record 的作用:构造一个对象类型,其属性的类型是 K,属性值的类型是 T。

解释类型

其一

K extends string | number | symbol 表示对象的键(key)有可能是联合类型中的其中之一,即 K 泛型是 stringnumbersymbol 这三种类型中的其中一个。

T 泛型表示对象的属性值(value)的类型。T 泛型可以是基础类型、对象、数组、函数等,这里没有指定 T 泛型的具体类型。

其二

{ [P in K]: T; } 中的 P 泛型是对象的键(key),通过 in 遍历了 P 泛型的所有可能,如下图所示:

{ [P in K]: T; } 的例子

posted @ 2023-04-11 12:01  Himmelbleu  阅读(42)  评论(0编辑  收藏  举报