我本以为ObjectOne | ObjectTwo
的意思是ObjectOne
或ObjectTwo
,而不是the combination of ObjectOne and ObjectTwo
,这从下面看起来是这样的:
type A = { a: number }
type B = { b: number }
type AB = A | B
type ABs = AB[]
// valid as expected
const validList: ABs = [{ a: 1 }, { b: 2 }]
// valid, but should be invalid due to {a: 1, b: 2}
const shouldBeInvalidList: ABs = [{ a: 1 }, { b: 2 }, { a: 1, b: 2 }]
我在这里想念的是什么?如何通过打字稿获得this object or that object
?
这里的用例是拥有一个数组,该数组可以接受一个特定的对象,也可以接受另一个特定的对象,但是没有额外的属性,也没有组合。