在TypeScript中的方法声明中,参数可以是字符串、布尔或数字的数组类型.我必须将其声明为any[]吗?或者有没有办法将输入类型限制为这三种类型中的任意一种?

推荐答案

Typescript 1.4引入了Union Types,所以现在的答案是101.

function myFunc(param: string[] | boolean[] | number[]): void;

使用指定类型以外的其他类型将触发编译时错误.


如果需要包含多个特定类型的数组,也可以使用联合类型:

function myFunc(param: (string|boolean|number)[]): void;

Note that this is different from what OP asked for. These two examples have different meanings.

Typescript相关问答推荐

为什么类型{}(非空值)可分配给{ [key:字符串]:字符串}等子类型?

如何使打包和拆包功能通用?

TypeScript泛型参数抛出错误—?&#"' 39;预期"

如何在第一次加载组件时加载ref数组

输入元素是类型变体的对象数组的正确方法是什么?'

Next.js错误:不变:页面未生成

TypeScrip:逐个 case Select 退出noUncheck kedIndexedAccess

打字类型保护递归判断

<;T扩展布尔值>;

在对象中将缺省值设置为空值

如何实现异构数组内函数的类型缩小

寻址对象中路径的泛型类型

如何以Angular 导入其他组件S配置文件

保护函数调用,以便深度嵌套的对象具有必须与同级属性函数cargument的类型匹配的键

TypeScrip错误:为循环中的对象属性赋值

在Cypress中,您能找到表格中具有特定文本的第一行吗?

类型脚本-在调用期间解析函数参数类型

为什么TS2339;TS2339;TS2339:类型A上不存在属性a?

Typescript,如何在通过属性存在过滤后重新分配类型?

是否将Angular *ngFor和*ngIf迁移到新的v17语法?