TypeScript中的原型方法

时间:2016-03-22 09:31:24

标签: javascript methods typescript prototype

我想知道是否有可能在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;因为我没有明确地声明它们。

0 个答案:

没有答案