【问题标题】:extending class with a static method使用静态方法扩展类
【发布时间】:2012-11-22 18:36:08
【问题描述】:

假设你有一个 date_ext.js 函数:

Date.prototype.getMyBlaDate = function() {
  return // bla bla
};

Date.minutesBetween = function (date1, date2) {
  return // obladi-oblada
}

您不想将整个文件转换为打字稿,但您仍然可以使用其中的方法。 让我们为 typescript 创建一个定义

interface Date{
  getMyBlaDate():BlaBlaType;
  minutesBetween(date1:Date, date2:Date):ObladiType; 
}

它适用于原型方法,但不适用于静态方法。 你如何定义静态方法?

【问题讨论】:

  • 接口是实例方法
  • 那么有没有办法定义(描述)静态方法?

标签: javascript typescript


【解决方案1】:

从lib.d.ts 看来,您会使用:

declare var Date: {
    minutesBetween(date1:Date, date2:Date):ObladiType;
}

更新

目前似乎不支持;见http://typescript.codeplex.com/discussions/403971

【讨论】:

  • 当我试图这样使用它时说'属性 minutesBetween 不存在'
  • 哦,如果我把它放在当前模块中,现在它说'类型的值不是新的'..所以我猜它与现有的日期冲突
  • @Agzam 我明白你的意思,我看到的是同样的事情。
猜你喜欢
  • 1970-01-01
  • 2011-05-12
  • 1970-01-01
  • 2011-01-01
  • 2012-01-29
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 2011-11-10
相关资源
最近更新 更多