TypeScript 中 如果为 Null,则设置默认值
在 TypeScript 中如果为 null,则使用 nullish 合并运算符 (??) 设置默认值,例如 const result = role ?? 'developer';
。 当左侧的值为 null 或 undefined 时,nullish 合并运算符返回其右侧操作数。
const role: string | null = null;
const result1 = role ?? 'developer';
console.log(result1); // 👉️ "developer"
考虑空值合并运算符 (??) 的一种简单方法是,如果左侧的值等于 null 或 undefined ,它允许我们提供一个备用值。
如果左侧的值不为 null 或 undefined ,则运算符按原样返回该值。
const result1 = 'accountant' ?? 'developer';
console.log(result1); // 👉️ "accountant"
另一种方法是使用三元运算符显式检查值是否等于 null。
const role: string | null = null;
const result2 = role === null ? 'tester' : role;
console.log(result2); // 👉️ "tester"
如果问号左边的表达式为真,则三元运算符返回冒号左边的值,否则返回冒号右边的值。
换句话说,如果角色变量存储了一个空值,那么三元运算符返回 tester,否则我们返回存储在 role 变量中的值。
请注意,我们使用了严格相等运算符 ===
。 我们可能还会在网上看到使用松散相等 ==
的示例。
const role: string | null = null;
const result2 = role == null ? 'tester' : role;
console.log(result2); // 👉️ "tester"
上述示例之间的区别在于,松散相等 ==
运算符同时检查 null 和 undefined,而严格相等 ===
仅检查特定值(示例中为 null)。
一种可视化的简单方法是使用运算符来比较 null 和 undefined。
console.log(null == undefined); // 👉️ true
console.log(null === undefined); // 👉️ false
该示例显示,当使用松散相等运算符 ==
时,null 等于 undefined。
如果变量存储空值,我们还可以使用逻辑 OR ||
运算符提供默认值。
const role: string | null = null;
const result3 = role || 'designer';
console.log(result3); // 👉️ "designer"
如果左边的值是假的,则逻辑 OR ||
运算符返回右边的值。
这与我们在第一个示例中使用的空值合并运算符有点不同,因为逻辑或
||
运算符检查值是否为假,而空值合并运算符??
检查值是 null 值还是 undefined 。
JavaScript(和 TypeScript)中的虚假值是 undefined、null、0、false、""(空字符串) 、NaN (不是数字)。
这意味着如果左侧的值是上述 6 个虚假值中的任何一个,逻辑 OR ||
运算符将返回右侧的值。
另一方面,只有当左边的值为 null 或 undefined 时,nullish 合并运算符才会返回右边的值。
相关文章
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 Angular 中使用 TypeScript 的 getElementById 替换
发布时间:2023/04/14 浏览次数:153 分类:Angular
-
本教程指南提供了有关使用 TypeScript 在 Angular 中替换 document.getElementById 的简要说明。这也提供了在 Angular 中 getElementById 的最佳方法。
在 TypeScript 中使用 try..catch..finally 处理异常
发布时间:2023/03/19 浏览次数:181 分类:TypeScript
-
本文详细介绍了如何在 TypeScript 中使用 try..catch..finally 进行异常处理,并附有示例。
在 TypeScript 中使用 declare 关键字
发布时间:2023/03/19 浏览次数:97 分类:TypeScript
-
本教程指南通过特定的实现和编码示例深入了解了 TypeScript 中 declare 关键字的用途。
在 TypeScript 中 get 和 set
发布时间:2023/03/19 浏览次数:172 分类:TypeScript
-
本篇文章演示了类的 get 和 set 属性以及如何在 TypeScript 中实现它。
在 TypeScript 中格式化日期和时间
发布时间:2023/03/19 浏览次数:161 分类:TypeScript
-
本教程介绍内置对象 Date() 并讨论在 Typescript 中获取、设置和格式化日期和时间的各种方法。
在 TypeScript 中返回一个 Promise
发布时间:2023/03/19 浏览次数:182 分类:TypeScript
-
本教程讨论如何在 TypeScript 中返回正确的 Promise。这将提供 TypeScript 中 Returns Promise 的完整编码示例,并完整演示每个步骤。
在 TypeScript 中定义函数回调的类型
发布时间:2023/03/19 浏览次数:221 分类:TypeScript
-
本教程说明了在 TypeScript 中为函数回调定义类型的解决方案。为了程序员的方便和方便,实施了不同的编码实践指南。
在 TypeScript 中把 JSON 对象转换为一个类
发布时间:2023/03/19 浏览次数:110 分类:TypeScript
-
本教程演示了如何将 JSON 对象转换为 TypeScript 中的类。