簡體   English   中英

可選屬性值可以是 null 嗎?

[英]Can an optional property value be null?

我認為 TypeScript 中的可選屬性涵蓋了 undefined 和 null 情況。 我錯了嗎?

如果我有以下界面

export interface student {
   id: string;
   major?: string;
}

和 API 返回

{
   id: '1234',
   major: null
}

這會導致錯誤嗎?

這將是不正確的,類型方面的。

可選屬性意味着該屬性可能是右側的類型(此處為string ),也可能是undefined

interface student {
   id: string;
   major?: string;
}

非常相似

interface student {
   id: string;
   major: string | undefined;
}

null不包括在內。

https://www.typescriptlang.org/play?#code/C4TwDgpgBAzsCuATCA7YUC8UDeAoKBAlogFyzABOhKA5gNz4EC2AhgFYD2FA-GXFbQYBfXLgDGHFHFh8EyNJhyMoxMgHIAjACYAzABY1FAGMWK

(盡管它們並不完全相同,感謝 Patrick Roberts - 具有可選屬性的類型可以應用於完全缺少該屬性的 object,但是帶有| undefined的必需屬性只能應用於具有該屬性的 object,並且屬性的值可能是undefined的)

暫無
暫無

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

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