在这种情况下,打字稿可以做联合类型断言吗?
Posted
技术标签:
【中文标题】在这种情况下,打字稿可以做联合类型断言吗?【英文标题】:can typescript do union type assertion in this case? 【发布时间】:2020-09-30 23:06:45 【问题描述】:在这种情况下打字稿可以做联合类型断言吗?我想使用ab.a
或ab.b
或ab. hasOwnProperty
来断言type A
或type B
吗?我该怎么办?
export interface A extends Object
a: string;
export interface B extends Object
b: number;
export type AorB = A | B;
function test(ab: AorB)
// can ts auto predict this ?
if (ab.hasOwnProperty('a'))
ab.a // type error
【问题讨论】:
【参考方案1】:更新你的函数如下:
function test(ab: AorB)
// can ts auto predict this ?
if ('a' in ab)
console.log(ab.a);
【讨论】:
以上是关于在这种情况下,打字稿可以做联合类型断言吗?的主要内容,如果未能解决你的问题,请参考以下文章