Avatar ·

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)`,但在访问属性的行上仍然报错。也许有更优雅的方法?