0

次のコンパイル エラーが発生します。

プロパティ 'prototype' はタイプ 'Base' の値に存在しません

次のクラスで、typescript を取得してプロトタイプ オブジェクトをコンストラクター関数からのネイティブ オブジェクトの型として認識するにはどうすればよいですか?

interface IBase {
  extend: any;
  prototype : any;
}

declare var Base : IBase;

class Base implements IBase {

  constructor() {}

  public extend( mixins : any ) : void {
    _.extend( this.prototype, mixins );
  }

}
4

1 に答える 1

3

this.prototypeBaseのインスタンスにはプロパティがないため、おそらくあなたが意味するものではありませんprototype(実行時に自分自身を見てください)。Baseただし、次のことを行います。

interface IBase {
  extend: any;
}

class Base implements IBase {
  constructor() {}

  public extend( mixins : any ) : void {
    _.extend(Base.prototype, mixins );
  }
}

もちろん、この時点では、すべてのインスタンスextendに適用されるため、静的である可能性もあります。Base代わりにこれを意味しましたか?

  public extend( mixins : any ) : void {
    _.extend(this, mixins);
  }
于 2013-04-13T15:58:36.493 に答える