繁体   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