我只想 在打字稿 界面中声明一个静态属性?我还没有找到任何关于这个的地方。
interface myInterface { static Name:string; }
可能吗?
你不能在 TypeScript 的接口上定义静态属性。
假设您想更改Date对象,而不是尝试添加到 的定义中Date,您可以将其包装起来,或者简单地创建丰富的日期类来完成不做的事情Date。
Date
class RichDate { public static MinValue = new Date(); }
因为 Date 是 TypeScript 中的一个接口,所以不能使用extends关键字通过类扩展它,这有点遗憾,因为如果 date 是一个类,这将是一个很好的解决方案。
extends
如果您想扩展 Date 对象以提供MinValue原型上的属性,您可以:
MinValue
interface Date { MinValue: Date; } Date.prototype.MinValue = new Date(0);
调用使用:
var x = new Date(); console.log(x.MinValue);
如果你想让它在没有实例的情况下可用,你也可以......但它有点挑剔。
interface DateStatic extends Date { MinValue: Date; } Date['MinValue'] = new Date(0);
var x: DateStatic = <any>Date; // We aren't using an instance console.log(x.MinValue);