如何编写一个typescript对应以下javascript

How to write a typescript corresponding to following javascript ?

本文关键字:javascript typescript 一个 何编写      更新时间:2023-09-26
var _ =require('lodash');
var Controller=function(){};
 Controller.prototype.index=function(req,res){
   res.ok();
 };
 Controller.extend=function(object){
      return _.extend({},Controller.prototype,object);
 };

我已经尝试了以下typescript,但它添加扩展为Controller.prototype.extend而不是Controller.extend()

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

我怎样才能改变我的typescript获得以上的javascript?

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

您只需要将extends(object)的声明更改为:

static extends(object) {
  ...
}