No TypeScript,
<name>?: <typename>
um atalho para <name>: <typename> | undefined
. Isso indica ao sistema de tipos que um símbolo pode conter um valor do tipo indicado ou pode conter o valor
undefined
(que é como null
). Isso é importante quando o (novo no TypeScript 2)
--strictNullChecks
opção está habilitada. A documentação sobre tipos com reconhecimento de nulo e indefinido opção é provavelmente onde você deve começar a entender por que isso é útil.