我想知道是否有可能在TypeScript中使用相同的主体创建方法。在JavaScript中,我可以使用' Prototype':
扩展该类var methods = [
{
'name' : 'f_1',
'argumentsLength' : 1
},
{
'name' : 'f_2',
'argumentsLength' : 2
}
];
var Person = function (name) {
this.name = name;
};
for (var k = 0; k < methods.length; k++) {
!function (fName, fParamsLength) {
Person.prototype[fName] = function () {
if (arguments.length !== fParamsLength) {
throw new Error ('Wrong number of parameters.');
}
console.log ('Function name : ' + fName);
for (var k = 0; k < arguments.length; k++) {
console.log ('arguments[' + k + '] : ' + arguments[k]);
}
console.log ();
};
} (methods[k].name, methods[k].argumentsLength);
}
var p = new Person ('Jumbo');
p.f_1 (1);
p.f_2 (2, 3);
我在TypeScript中不能这样做。当我尝试调用方法时出现错误&#39; f_1&#39;和&#39; f_2&#39;因为我没有明确地声明它们。