TypeScript 中声明只接受特定值的数组
使用联合类型来声明一个只接受特定值的数组,例如 const arr2: ('a' | 'b' | 'c')[] = []
。 联合类型由两个或多个其他类型或文字组成。 示例中的数组只能包含字符串 a、b 和 c。
type NumbersLessThan5 = 1 | 2 | 3 | 4;
const arr: NumbersLessThan5[] = [];
arr.push(1);
arr.push(2);
arr.push(3);
arr.push(4);
我们使用联合类型来创建一个只接受特定值的数组。
示例中的数组只能包含数字 1-4。 如果我们尝试将一个不包含在联合类型中的数字添加到数组中,我们会得到一个错误。
type NumbersLessThan5 = 1 | 2 | 3 | 4;
const arr: NumbersLessThan5[] = [];
// ⛔️ Error: Argument of type '5' is not
// assignable to parameter of type 'NumbersLessThan5'.ts(2345)
arr.push(5);
这在使用字符串文字时以相同的方式工作。
type FirstThreeLetters = 'a' | 'b' | 'c';
const arr2: FirstThreeLetters[] = [];
arr2.push('a');
arr2.push('b');
arr2.push('c');
// ⛔️ Error: Argument of type '"d"' is not
// assignable to parameter of type 'FirstThreeLetters'.ts(2345)
arr2.push('d');
这些值不必是同一类型。 在不太可能出现的混合数组情况下,我们可以使用相同的方法。
type Mixed = 'a' | 'b' | 1;
const arr2: Mixed[] = [];
arr2.push('a');
arr2.push('b');
arr2.push(1);
联合类型在 TypeScript 中非常有用,实际上布尔类型只是联合 true | false
的别名。
相关文章
在 C 语言中获取字符数组的长度
发布时间:2023/05/07 浏览次数:166 分类:C语言
-
本文演示了如何在 C 语言中获取一个 char 数组的长度。使用 sizeof 运算符来查找字符数组的长度 数组的大小可以用 sizeof 运算符计算,而不考虑元素的数据类型。
如何在 C 语言中获取数组的大小
发布时间:2023/05/07 浏览次数:92 分类:C语言
-
本教程介绍了 C 语言中确定数组大小的方法。本教程介绍了在 C 语言中使用 sizeof()运算符的方法。
C 语言中复制字符数组
发布时间:2023/05/07 浏览次数:117 分类:C语言
-
本文介绍了如何在 C 语言中复制字符数组。使用 memcpy 函数在 C 语言中复制一个字符数组 char 数组可能是 C 代码中最常用的数据结构,复制数组内容是它的核心操作之一。
Django ArrayField 数组字段
发布时间:2023/05/04 浏览次数:168 分类:Python
-
在本文中,我们将学习在 Django 数据库模型中使用 ArrayFields。Django中的ArrayField类似于Java、C、C++等其他编程语言中的数组数据结构,存储相同数据类型的多个值。
计算 Java 数组中的重复元素
发布时间:2023/05/01 浏览次数:202 分类:Java
-
本篇文章介绍Java计算数组中重复元素的方法。计算 Java 数组中的重复元素。我们可以创建一个程序来计算数组中的重复元素。 该数组可以是未排序的,也可以是已排序的。
在 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 的最佳方法。