Como usar optional chaining com arrays e funções em TypeScript?
Olá a todos! Sou novo em TypeScript e encontrei um problema ao usar optional chaining (?.). Sei que ele ajuda a acessar propriedades aninhadas de objetos com segurança, mas não consigo entender como aplicá-lo corretamente a arrays e funções.
Aqui está um exemplo com array. Tenho um objeto `user` que pode ter um array `posts`. Quero obter o primeiro post, se o array existir, caso contrário retornar `undefined`:
```typescript
interface User {
name: string;
posts?: Post[];
}
interface Post {
title: string;
content: string;
}
const user: User = { name: "Alice" };
// Tentando obter o primeiro post
const firstPost = user.posts?.[0]; // Erro: "The left-hand side of an assignment expression may not be optional property access."
```
Tentei `user.posts?[0]` — não funciona. Depois li que é preciso escrever `user.posts?.[0]`, mas ainda recebo o erro. Qual é o problema?
Outra pergunta sobre funções. Tenho um objeto com um método opcional `getFullName`