问号 Typescript 变量
Question mark Typescript variable
我见过这样的代码片段:
export interface IUser {
email?: string;
firstName?: string;
lastName?: string;
}
但是为什么变量名后缀是问号呢?此代码段是使用 mongodb 和 Typescript 的示例的一部分。
答案可能在那里,但我似乎使用了错误的关键字,因为我找不到它。
这意味着它们可以存在但不必存在。它允许可选的字段名称。可以说是很常用了。
一个示例用途是允许网站上的用户有一个可选的显示名称。
如果没记错的话,是表示optional,也就是可以为null。
在 TypeScript 中,<name>?: <typename>
shorthand 用于 <name>: <typename> | undefined
。
这向类型系统表明符号可能包含指定类型的值或者它可能包含值undefined
(类似于 null
)。
这在启用(TypeScript 2 中的新功能)--strictNullChecks
选项时很重要。 Null- and undefined-aware types 选项的文档可能是您应该开始理解为什么有用的地方。
我见过这样的代码片段:
export interface IUser {
email?: string;
firstName?: string;
lastName?: string;
}
但是为什么变量名后缀是问号呢?此代码段是使用 mongodb 和 Typescript 的示例的一部分。
答案可能在那里,但我似乎使用了错误的关键字,因为我找不到它。
这意味着它们可以存在但不必存在。它允许可选的字段名称。可以说是很常用了。
一个示例用途是允许网站上的用户有一个可选的显示名称。
如果没记错的话,是表示optional,也就是可以为null。
在 TypeScript 中,<name>?: <typename>
shorthand 用于 <name>: <typename> | undefined
。
这向类型系统表明符号可能包含指定类型的值或者它可能包含值undefined
(类似于 null
)。
这在启用(TypeScript 2 中的新功能)--strictNullChecks
选项时很重要。 Null- and undefined-aware types 选项的文档可能是您应该开始理解为什么有用的地方。