9

Dateで静的MinValueプロパティを宣言する必要があります。私のJavaScriptコードは次のようになります

Date.MinValue = new Date("someDate");

答えのある同様の質問を見つけましたが、それはすべて、プロパティではなく関数を追加することです。また、これらの関数は静的として定義されていません。だから、それは私には役に立たない。

参照リンク、

  1. TypeScriptでの配列の拡張
  2. プロトタイプはtypescriptでどのように拡張されますか?
4

1 に答える 1

9

Date を拡張して追加の静的プロパティを持つことはできないと思います。次のようにプロトタイプを拡張できます。

interface Date {
    min: Date;
}

Date.prototype.min = new Date();

var x = new Date();
alert(x.min.toString());

本当にやりたいことを行うには、実際には lib.d.ts を変更する必要があります。

declare var Date: {
    new (): Date;
    new (value: number): Date;
    new (value: string): Date;
    new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date;
    (): string;
    prototype: Date;
    parse(s: string): number;
    UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;
    now(): number;
    min: Date;
}

TypeScript で生成された JavaScript に加えてロードされるように、純粋な JS で拡張を実行します。

    Date.min = new Date();
于 2012-12-19T11:50:51.237 に答える