Vid*_*dya 5 javascript typescript
我有两种类型:
type TypeLetter = "TypeA" | "TypeB"
type TypeNumber = "Type1" | "Type2"
Run Code Online (Sandbox Code Playgroud)
我想限制组合这些类型的值的方式,以便只有TypeA和Type1可以在一起,并且只有TypeB和Type2可以在一起。
我怎样才能创建一个类型Restricted来实现这样的事情呢?换句话说,在这些有效的情况下:
const valid1: Restricted = {
valLetter: "TypeA"
valNumber: "Type1"
}
const valid2: Restricted = {
valLetter: "TypeB"
valNumber: "Type2"
}
Run Code Online (Sandbox Code Playgroud)
但这不是:
const nope: Restricted = {
valLetter: "TypeB"
valNumber: "Type1"
}
Run Code Online (Sandbox Code Playgroud)
以下内容仅适用于这两个。您可以使用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"'.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |