Herhangi bir argümandan geçen belirli bir kurucuyla bir nesneyi başlatan bir işlevim var.TypeScript: 'new', türü bir aramaya sahip olmayan veya imzası olmayan bir ifade ile kullanılamıyor
export class Thing {
constructor() { ... }
}
var thing = instantiate(Thing);
Bu çalışır, ancak derleyici Cannot use 'new' with an expression whose type lacks a call or construct signature.
diyerek her new ctor
örneği şikayetçi:
function instantiate(ctor:Function):any {
switch (arguments.length) {
case 1:
return new ctor();
case 2:
return new ctor(arguments[1]);
case 3:
return new ctor(arguments[1], arguments[2]);
...
default:
throw new Error('"instantiate" called with too many arguments.');
}
}
Böyle kullanılır. Ne tür ctor
olmalıdır?
Bu büyülü sözdizimini asla kendi başıma bulamazdım! – alekop
bende. Birisi hakkında bazı dokümanlar bulabileceğiniz bir ipucu verebilir misiniz. –