【发布时间】:2021-01-22 04:40:58
【问题描述】:
我有一个接口,它有一个依赖于 T 的函数,它可以从字符串或数字扩展。
interface IConstructorReg<T extends string | number> {
constructor: new (...args: any[]) => BaseImportObj;
check: (data: T, fileName: string) => boolean;
}
我想推送实现该接口的对象。
function checkFun1(data: string, fileName: string) {
// Severals Checkers ...
return true;
}
const objImp1: IConstructorReg<string> = { constructor: ASCReader, check: checkFun1 };
function checkFun2(data: number, fileName: string) {
// Severals Checkers ...
return true;
}
const objImp2: IConstructorReg<number> = { constructor: ASCReader, check: checkFun2 };
const b: Array<IConstructorReg<string | number>> = [];
b.push(objImp1); // Type 'string | number' is not assignable to type 'string'.
b.push(objImp2); // Type 'string | number' is not assignable to type 'number'.
。数组“b”的正确类型是什么?
【问题讨论】:
标签: arrays typescript typescript-typings