0

私はタイプスクリプトを学ぼうとしています - 最初のステップをいくつか作ってください:)。これが私の問題です。

次のようにFile1.tsを作成しました。

export namespace ex {
    export var mapper = ( ob : Object ) : NewClass {
        return ob as NewClass;
    };

    export class NewClass extends Object {
        public getSomething() : number {
            return 2;
        }
    };
}

次に、最初のファイルで定義された「マッパー」を使用するFile2.tsを作成しました。

import { ex } from './Ex';

var a : Object = myAlreadyExistingObject;
console.log( ex.mapper( a ).getSomething() );

私が得るもの:

エラー: TypeError: File1_1.ex.mapper(a).getSomething は関数ではありません。

「オブジェクト」クラスは単なる例です。実際には、既に定義された複雑なクラスを使用しています。私が達成しようとしているのは、C# のような「拡張メソッド」を次のように使用することです。ex.mapper( instance ).newFunction()

うまくいかないのはなぜですか?

4

1 に答える 1