मेरा कोई ऐसा फ़ंक्शन है जो किसी दिए गए कन्स्ट्रक्टर के साथ किसी ऑब्जेक्ट को तत्काल करता है, किसी भी तर्क के साथ गुज़रता है।टाइपस्क्रिप्ट: किसी अभिव्यक्ति के साथ 'नया' का उपयोग नहीं कर सकता जिसका किस प्रकार कॉल की कमी है या हस्ताक्षर
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.');
}
}
यह इस तरह प्रयोग किया जाता है:
export class Thing {
constructor() { ... }
}
var thing = instantiate(Thing);
यह काम करता है, लेकिन संकलक, प्रत्येक new ctor
उदाहरण के बारे में शिकायत Cannot use 'new' with an expression whose type lacks a call or construct signature.
कह। ctor
किस प्रकार का होना चाहिए?
मैंने कभी भी उस जादुई वाक्यविन्यास की खोज नहीं की होगी! – alekop
मुझे भी। क्या आप एक संकेत दे सकते हैं जहां कोई कुछ दस्तावेज़ ढूंढ सकता है। –