Avatar ·

TypeScript suporta o operador ?. e qual é o nome correto?

Olá a todos! Recentemente comecei a estudar TypeScript e me deparei com um problema. Frequentemente no código preciso acessar uma propriedade de um objeto que pode não existir. Por exemplo, tenho um objeto `user` que vem do servidor e ele pode ter um campo aninhado `profile.name`. Se eu escrevo `user.profile.name`, o TypeScript gera um erro dizendo que `profile` pode ser `undefined`. Eu sei que em JavaScript existe o operador `?.`, que permite acessar propriedades de forma segura. Mas não tenho certeza se o TypeScript o suporta e qual é o nome correto. Tentei escrever assim: ```typescript interface User { profile?: { name?: string; }; } const user: User = {}; console.log(user.profile.name); // Erro: Object is possibly 'undefined' ``` Se eu adiciono `?.`, o erro desaparece: ```typescript console.log(user?.profile?.name); ``` Mas não entendo: isso é uma feature do TypeScript ou apenas do JavaScript? E qual é o nome correto desse operador — "optional chaining", "ponto de interrogação"?