簡體   English   中英

如何在 TypeScript 中使用區分不同的 object 類型?

[英]How to use distinguish differenct object type in TypeScript?

如何區分TypeScript中不同的object類型?



interface CC {
    a: number;
    b: string
}

interface B {
    c:number
}



const obj:  CC |  B = {
    a: 1,
    c: 1
} 
// valid

我希望 obj 僅在以下情況下有效

{
  a:number,
  b:string
}

或者

{
  c:number
}

不是聯合類型或交集類型的行為。

強制 typescript 選擇BCC的一種方法是設置具有特定值的公共變量。

示例

type CC = {
    type: 1;
    a: number;
    b: string
};

type B = {
    type: 2;
    c: number
};

const obj: CC | B = {
    type: 1,
    a: 1,
    c: 1
};

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM