如何在 TypeScript 中使用可选链(optional chaining)处理数组和函数?
大家好!我是 TypeScript 新手,在使用可选链(?.)时遇到了问题。我知道它可以帮助安全地访问嵌套对象属性,但不知道如何正确应用于数组和函数。
这是一个数组的例子。我有一个对象 `user`,它可能有一个数组 `posts`。我想获取第一个帖子,如果数组存在则返回,否则返回 `undefined`:
```typescript
interface User {
name: string;
posts?: Post[];
}
interface Post {
title: string;
content: string;
}
const user: User = { name: "Alice" };
// 尝试获取第一个帖子
const firstPost = user.posts?.[0]; // 错误:"The left-hand side of an assignment expression may not be optional property access."
```
我试了 `user.posts?[0]` — 不行。然后我读到应该写 `user.posts?.[0]`,但仍然报错。问题出在哪里?
还有一个关于函数的问题。我有一个对象,它有一个可选方法 `getFullName`