Javascript 如何在TypeScript中区分不同的对象类型?
如何在TypeScript中区分不同的对象类型Javascript 如何在TypeScript中区分不同的对象类型?,javascript,typescript,visual-studio,typescript-typings,type-systems,Javascript,Typescript,Visual Studio,Typescript Typings,Type Systems,如何在TypeScript中区分不同的对象类型 interface CC { a: number; b: string } interface B { c:number } const obj: CC | B = { a: 1, c: 1 } // valid 我希望obj仅在以下情况下有效 { a:number, b:string } 或 不是联合类型或交叉类型的行为。强制typescript选择B或CC的一种方法是使用特定
interface CC {
a: number;
b: string
}
interface B {
c:number
}
const obj: CC | B = {
a: 1,
c: 1
}
// valid
我希望obj仅在以下情况下有效
{
a:number,
b:string
}
或
不是联合类型或交叉类型的行为。强制typescript选择
B
或CC
的一种方法是使用特定值设置公共变量
:
强制typescript选择
B
或CC
的一种方法是使用特定值设置公共变量
:
{
c:number
}
type CC = {
type: 1;
a: number;
b: string
};
type B = {
type: 2;
c: number
};
const obj: CC | B = {
type: 1,
a: 1,
c: 1
};