以下の内容はhttps://anton0825.hatenablog.com/entry/2015/06/17/000000より取得しました。


typescriptでreflection

typescriptはコンパイルすると素のJSになり型情報がなくなるのでReflectionは基本できない。 for inを使うとプロパティの列挙は出来るがtypescriptのフィールドはそこにデータを代入するまで存在しないのでfor inを実行しても出てこない。

// thisはsampleFieldという名前のフィールド定義を持つクラスのオブジェクトとする
for(var key in this) {
  console.log(key + " > " + this[key]); // sampleFieldという名前は出てこないことがある(sampleFieldに値が代入されたら出てくる)
}

実行時にフィールドの型情報を知りたい場合はフィールド名と型名のペアを定義しておく必要がある。例は以下。

  getProperties(): { [key: string]: string; } {
    return {
      "user": "User",
      "zip1": "string",
    };
  }

フィールド定義と二重管理になるが。。しょうがなさそう

参考:




以上の内容はhttps://anton0825.hatenablog.com/entry/2015/06/17/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14