gpt4 book ai didi

javascript - 限制 TypeScript 中的类型组合

转载 作者:行者123 更新时间:2023-12-04 01:03:52 25 4
gpt4 key购买 nike

我有两种类型:

type TypeLetter = "TypeA" | "TypeB"

type TypeNumber = "Type1" | "Type2"
我想限制我可以组合这些类型的值的方式,以便只有 TypeAType1只能在一起 TypeBType2可以在一起。
如何创建类型 Restricted让这样的事情发生?换句话说,这些是有效的:
const valid1: Restricted = {
valLetter: "TypeA"
valNumber: "Type1"
}

const valid2: Restricted = {
valLetter: "TypeB"
valNumber: "Type2"
}
但这不是:
const nope: Restricted = {
valLetter: "TypeB"
valNumber: "Type1"
}

最佳答案

以下内容仅适用于这两个。您可以使用const类型。

type Restricted = {
valLetter: 'TypeA',
valNumber: 'Type1'
} | {
valLetter: 'TypeB',
valNumber: 'Type2'
};

const nope: Restricted = {
valLetter: "TypeB",
valNumber: "Type1"
} // Type '"Type1"' is not assignable to type '"Type2"'.

关于javascript - 限制 TypeScript 中的类型组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67169652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com