如何在 TypeScript 中同时检查 null 和 undefined?
大家好,同事们!我是 TypeScript 新手,遇到了一个看似简单但令人困惑的问题。我需要编写一个检查,既能排除 `null` 又能排除 `undefined`。在 JavaScript 中,我习惯直接写 `if (value)`,但在 TypeScript 中这并不总是正确的,因为空字符串或 0 也被视为 falsy 值,我可能会丢失数据。
以下是我的代码示例:
```typescript
function processUser(user: { name: string | null | undefined; age?: number }) {
// 如何正确检查 user.name 既不是 null 也不是 undefined?
if (user.name) {
console.log(user.name.toUpperCase()); // 可行,但如果 name = "" 呢?
}
// 我尝试过这样:
if (user.name !== null && user.name !== undefined) {
console.log(user.name.length); // 可行,但代码显得冗长
}
}
```
TypeScript 中是否有某种简短且可靠的方法来同时检查 `null` 和 `undefined`,而无需多余的条件?也许有运算符或函数?