Typescript 创建具有接口A和接口B的所有属性的类型

Typescript 创建具有接口A和接口B的所有属性的类型,typescript,Typescript,我希望myValue属于接口A或接口B interface interfaceA { commonProp: any; specificToA: any; } interface interfaceB { commonProp: any; specificToB: any; } let myValue: interfaceA | interfaceB; myValue.interfaceA // doesn't work, I only have access to co

我希望
myValue
属于
接口A
接口B

interface interfaceA {
  commonProp: any;
  specificToA: any;
}

interface interfaceB {
  commonProp: any;
  specificToB: any;
}


let myValue: interfaceA | interfaceB;

myValue.interfaceA // doesn't work, I only have access to commonProp
我如何让
myValue
访问
specificToA
specificToB

您可能想要使用

function isA(arg: any): arg is interfaceA
{
    return 'specificToA' in arg;
}

if (isA(myValue))
{// Here typescript will know you are dealing with interfaceA
    let v = myValue.specificToA;
}