Avatar ·

如何在 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`,而无需多余的条件?也许有运算符或函数?