5

書いた JavaScript コードを TypeScript に変換したいと考えています。私は、JavaScript 開発者として、TypeScript の構文と考え方に慣れていません。

私が頭を悩ませているのは、Revealing Module Pattern を使用するコードを TypeScript に変換するのに苦労したことです。

一例を以下に示します。

//JS Code
var obj;

//code...
(function(){
    function myFunction(){
        //do work
    }


    function MyOtherConstructor(){
        return {
            publicMethod: myFunction
        }
    }

    obj = new MyOtherConstructor();
})();

//use obj.publicMethod in code later

私が考えた1つの回避策はこれでした:

//TypeScript code
var obj;

class MyOtherConstructor {
        private callback: any;
        constructor(f: any){
            this.callback = f;
        }
        publicMethod(): any{
            this.callback();
        }
}
//code...
(() => {
    function myFunction(){
        //do work
        console.log("Called myFunction");
    }
    obj = new MyOtherConstructor(myFunction);
})();

//use obj.publicMethod in code later

これは機能しますが、醜いです。

これを改善する方法はありますか?

4

1 に答える 1