深入探索TypeScript:类型生成、修改与映射的艺术
1. 生成新对象类型
在应用程序里,我们常常会遇到这样的问题:存在一个与模型相关的类型,每当模型发生改变时,类型也得跟着改变。为了解决这个问题,我们可以使用泛型映射类型,基于原始类型来创建新的对象类型。
以玩具店的例子来说,我们可以很好地对数据进行建模:
type ToyBase = {
name: string;
description: string;
minimumAge: number;
};
type BoardGame = ToyBase & {
kind: "boardgame";
players: number;
};
type Puzzle = ToyBase & {
kind: "puzzle";
pieces: number;
};
type Doll = ToyBase & {
kind: "doll";
material: "plush" | "plastic";
};
type Toy = Doll | Puzzle | BoardGame;
我们需要将所有玩具分组到一个名为 GroupedToys 的数据结构中, GroupedToys 为每个类别(或“kind”)都有一个属性,其值为 Toy 数组。以下是分组函数:
type GroupedToys
超级会员免费看
订阅专栏 解锁全文
26

被折叠的 条评论
为什么被折叠?



