TS 系列:使用元祖生成联合类型

作者 : admin 本文共357个字,预计阅读时间需要1分钟 发布时间: 2024-06-8 共3人阅读

需求:有这么个需求,我们有两个数组,一个记录扑克牌花色,一个记录扑克牌点数,需要有一个函数,传递两个值,根据传递的值生成扑克牌,需要我们定义参数的类型检查。

思路:肯定不能用 string,这样范围太大了,我们可以使用元祖生成联合类型去检测

const colors = ["♠", "♥", "♣", "♦"] as const;
const values = ['2','3', '4', '5'. '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'] as const;

type Values = typeof values[number]
type Colors = typeof colors[number]

function createCard(value: Values, color: Colors) {
  return {
    value,
    color
  }
}

本站无任何商业行为
个人在线分享 » TS 系列:使用元祖生成联合类型
E-->