我有这个代码:
const BlockConstructors: Function[] = [
 OBlock,
 IBlock,
 TBlock
];
function randomFromArray(array: any[]) {
  return array[Math.floor( Math.random() * array.length )];
}
const BlockConstructor: Function = random(BlockConstructors);
const block: Block = new BlockConstructor();
我尝试从数组中绘制一些块构造函数,然后创建一个新对象,数组中的所有块构造函数都扩展了 Block 类。我得到错误:
不能将“new”用于类型缺少调用或构造签名的表达式。
为什么会出现这个错误?
您的代码不是独立的,但这是归结起来的原因。
Function不能new。new在 TypeScript 中只能做三件事:
voidany你真的想要第一个。
尝试从 切换Function到(new () => Block)。
| 归档时间: | 
 | 
| 查看次数: | 2269 次 | 
| 最近记录: |