12
export class Entity {
    add(component: Component, componentClass?: { new (): Component;}): Entity {
        if (!componentClass) {
            componentClass = component.constructor
        }

        /** sniiiiip **/
    }
}

例の 4 行目 (component.constructor の割り当て) により、コンパイラは次のように不平を言います。

プロパティ「コンストラクター」はタイプ「コンポーネント」の値に存在しません

オブジェクト コンストラクターへの参照を取得する適切な方法は何ですか? 私の理解では、JavaScript のすべてのオブジェクトには、そのオブジェクトの作成に使用されるコンストラクターを指す .constructor プロパティがあります...

4

1 に答える 1

10

これは型付きコードでは非常にまれであるため、デフォルトでは の定義に含まれていませんObject。代わりに単純にキャストできますany

componentClass = (<any>component).constructor;
于 2012-11-28T08:43:01.473 に答える