我看过这样的代码段:
export interface IUser {
email?: string;
firstName?: string;
lastName?: string;
}
但为什么变量名后缀有问号?此片段是将mongodb与Typescript一起使用的示例的一部分。
答案可能在某处,但我似乎使用了错误的关键字,因为我无法找到它。
答案 0 :(得分:4)
在TypeScript中,<name>: <typename> | undefined
是undefined
的简写。
它向类型系统指示符号可能包含指示类型的值,或可能包含值null
(类似--strictNullChecks
})。
当启用(TypeScript 2中的新增功能){{1}}选项时,这很重要。关于Null- and undefined-aware types选项的文档可能就是您应该开始理解为什么这有用的地方。
答案 1 :(得分:0)
这意味着他们可以在那里,但不必。它允许使用可选的字段名称。它可能很常见。
示例用法是允许网站上的用户拥有可选的显示名称。
答案 2 :(得分:0)
如果我没有被误解,则表明它是可选的,这意味着它可以为空。