Avatar ·

如何在 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`