3
var _ =require('lodash');
var Controller=function(){};
 Controller.prototype.index=function(req,res){
   res.ok();
 };
 Controller.extend=function(object){
      return _.extend({},Controller.prototype,object);
 };

我尝试了以下打字稿,但它将扩展添加为 Controller.prototype.extend 而不是 Controller.extend()

var _ = require('lodash');
class Controller
{
    index(){
        console.log("hi");
    }
    extends(object) {

    return _.extend({}, Controller.prototype, object);
    }
}

如何更改我的打字稿以获取上述 javascript?

4

1 回答 1

3

您正在定义一个实例方法,它是对象原型的一部分,您应该在其中使用静态方法(类的一部分)。

您需要更改的只是 to 的声明extends(object)

static extends(object) {
  ...
}
于 2015-07-14T14:02:35.833 回答