मैं currying जोड़ने के लिए, कक्षाओं के लिए सबसे सामान्य चरण उत्पन्न करने के लिए एक सहायक समारोह बनाने के लिए कोशिश कर रहा हूँ,। उदाहरण के लिए:
class Person {
private name: string;
private sex: string;
constructor (name: string, sex: string) {
this.name = name;
this.sex = sex;
}
}
var newPersonSex = function (sex: string) {
return function (name: string) {
return new Person(name, sex);
}
}
var MalePerson = newPersonSex('male');
var FemalePerson = newPersonSex('female');
तो है कि अब जब MalePerson और FemalePerson ऑब्जेक्ट का निर्माण होगा, यह वास्तव में सिर्फ व्यक्ति का एक नया उदाहरण के बजाय देता है।
var m = new MalePerson( 'john' );
में प्रकार प्रणाली के लिए आदेश मुझे अभी भी 'नए' उपयोग करने की अनुमति, MalePerson एक निर्माता प्रकार की जरूरत है। उदाहरण के लिए: 'नए (नाम: स्ट्रिंग) => व्यक्ति'। यही कारण है कि यह भी समारोह की वापसी प्रकार की जरूरत है।
हालांकि उन घोषणाओं के साथ जोड़ा, मैं अंदर 'newPersonSex' से एक समारोह नहीं लौट सकते। उदाहरण के लिए इस अमान्य है:
var newPersonSex = function (sex: string) : new(name:string) => Person {
return function (name: string) {
return new Person(name, sex);
}
}
मैं कैसे बना सकते हैं और एक नए निर्माता समारोह या मक्खी पर वर्ग लौट सकते हैं?













