arrays - 你如何在打字稿中检查数组的类型
问题描述
假设我要检查的数组是单一类型的简单数组,你如何检查这个数组的类型?
我试过做
let arr1: number[] = [1,2,3,4,5];
console.log(typeof arr1[0] === "number"); // logs true
这可行,但如果数组为空,如下所示:
let arr2: number[] = [];
console.log(typeof arr2[0] === "number"); // logs false
这种方法不成立。
我的问题有两个:有没有更好的方法来做到这一点?如果是这样,它是否也适用于空数组?
解决方案
没有办法用“从盒子里”的 javascript 数组来做这种方法。你只有这些工具:
- Typescript 中的静态类型检查
typeof
/Array.isArray
可以检查对象是否为数组的事实
javascript 中有不同的运行时类型检查工具:例如type-check。但是如果你使用 Typescript 并且与数据源有一个字符串契约,那么你可能不需要这样的工具。
推荐阅读
- apache-kafka - 如何扩展 Kafka Stream 应用程序
- css - 我们能用 flex 做些什么来得到这样的布局?
- excel - VBA:网页抓取并在 Excel 电子表格中显示结果
- regex - 构造匹配 Racket sexp 中第一项的正则表达式的最佳方法?
- mysql - 将mysql中的3个表与非关系表连接起来
- java - 如果每次都是随机的而不使用数组,有没有办法找出我应该收到多少个数字?
- angular - 根据id获取api数据
- macos - 使用调试版 Webkit 运行 Safari
- install4j - 如何防止使用 Install4jc 生成趋势科技防病毒软件对 Installer .exe 的阻止
- amazon-web-services - Amazon Cognito 的 ASP.NET Core 身份提供程序预览版中的 OAuth/OIDC 支持