如何在TypeScript中正确声明对象数组:新手完整指南
大家好!我刚开始学习TypeScript,在声明对象数组时遇到了问题。我试图为用户列表编写一个简单的功能,但TypeScript不断报错。
这是我的代码:
```typescript
const users = [
{ name: "伊万", age: 25 },
{ name: "玛丽亚", age: 30 },
{ name: "彼得", age: 28 }
];
function getUserNames(users: ???) {
return users.map(user => user.name);
}
```
我尝试了不同的方式:`users: Array`、`users: any[]`,但要么TypeScript报错,要么编辑器的自动补全丢失。例如,当我写`users: any[]`时,访问`user.name`时编辑器不会提示对象的属性,我可能会不小心写一个不存在的字段。
另一个问题是:有时我希望数组中的对象具有不同的必填和可选字段。例如,部分用户可能有`phone`字段,而其他用户没有。
请告诉我如何在TypeScript中正确声明对象数组。