我想断言一个对象属性的类型,以消除由该属性具有联合类型引起的歧义。
interface myObject {
myProperty: customType1|customType2
}
//Now I want to make clear in some other line of code that i know what is
// The type of that property at that time, somthing like this
myObject.<customType1>myProperty
我四处搜寻,但找不到任何涉及这种情况的东西,甚至有可能吗?
答案 0 :(得分:1)
如Typescript文档中所述, https://www.typescriptlang.org/docs/handbook/advanced-types.html#intersection-types
首先,在父属性上声明类型,然后访问子属性
(<customType1>myObject.myProperty)
// or
(myObject.myProperty as customType1)
// if there is any child-property
(myObject.myProperty as customType1)['child_property_of_myproperty'];
答案 1 :(得分:0)
似乎这样做的方法是:
myObject.myProperty = myObject.myProperty as customType1
由于评论中的人,我今天发现了一些有趣的功能,但是幸运的是我最终变得很简单。