書いた 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
これは機能しますが、醜いです。
これを改善する方法はありますか?