¿TypeScript soporta el operador ?. y cómo se llama correctamente?
¡Hola a todos! Recientemente comencé a estudiar TypeScript y me encontré con un problema. A menudo en el código necesito acceder a una propiedad de un objeto que puede no existir. Por ejemplo, tengo un objeto `user` que viene del servidor, y puede tener un campo anidado `profile.name`. Si escribo `user.profile.name`, TypeScript lanza un error de que `profile` puede ser `undefined`. Sé que en JavaScript existe el operador `?.`, que permite acceder a propiedades de forma segura. Pero no estoy seguro de si TypeScript lo soporta y cómo se llama correctamente. Intenté escribir así:
```typescript
interface User {
profile?: {
name?: string;
};
}
const user: User = {};
console.log(user.profile.name); // Error: Object is possibly 'undefined'
```
Si agrego `?.`, el error desaparece:
```typescript
console.log(user?.profile?.name);
```
Pero no entiendo, ¿es una característica de TypeScript o simplemente de JavaScript? ¿Y cómo se llama correctamente este operador — "encadenamiento opcional", "signo de interrogación...