TypeScript中的TS2532错误:对象可能为'undefined'——如何修复?
大家好!我是TypeScript新手,正在使用Firebase Cloud Functions和Firestore开发一个项目。我有一个函数从Firestore文档中获取数据并进行处理。但TypeScript一直报错TS2532:“Object is possibly 'undefined'”。这是我的代码:
```typescript
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();
export const processUserData = functions.firestore
.document('users/{userId}')
.onCreate(async (snap, context) => {
const data = snap.data();
const userName = data.name; // 这里报错TS2532
const userAge = data.age; // 这里也报错
console.log(`User ${userName} is ${userAge} years old.`);
});
```
我明白如果文档不存在,`data`可能是`undefined`。但如何正确处理呢?我试过简单地检查`if (data)`,但在访问属性的行上仍然报错。也许有更优雅的方法?