我想看看传递给函数的变量(可以是数字数组或元组数组)是否是元组数组。
function (times: Array<number> | Array<[number, number]>) {
if (times[0] instanceof [number, number]) {
console.log("Its the tuple one!");
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,我也尝试过,if (times[0] instanceof tuple))但这也不起作用。如何才能做到这一点?
谢谢!
根据基本类型>元组文档:
元组类型允许您表达一个数组,其中固定数量元素的类型已知,但不必相同。
这意味着元组只是数组。
另外,由于 Typescript 编译为 javascript,而 javascript 没有元组,因此在运行时检查类型意味着您需要检查 javascript 类型,而不是运行时不存在的 ts 类型。
回答你的问题:
function fn(times: Array<number> | Array<[number, number]>) {
if (times[0] instanceof Array) {
console.log("Its the tuple one!");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6176 次 |
| 最近记录: |