簡體   English   中英

檢查 object 中是否存在所有屬性

[英]Check if all properties exist in an object

我有一項服務,其中對象通過,有時可能會丟失一個字段。 我正在構建一種驗證方法來檢查 object 以查看它是否缺少任何屬性。

例如,假設我有一個類型的人

interface person {
    name: string;
    age: number;
    eyeColor: string;
}

一個人型的 object 進來

{
    name: "Joe",
    eyeColor: "brown",
}

我想拋出一個錯誤,說 object 中缺少“年齡”。 是否可以在 typescript 中檢查 object 是否具有其類型的所有屬性?

有一些圖書館可以為您做到這一點。 例如zod

這看起來像這樣:

const Person = z.object({
    name: z.string(),
    age: z.number(),
    eyeColor: z.string()
});

type Person = z.infer<typeof Person>;

然后你可以這樣做:

Person.parse(myData); // throw if it does not match the schema.

還有更多此類庫,您可以在 Google Typescript 運行時驗證中找到更多。

暫無
暫無

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

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