conocode
このコード
トラブルシューティング

Typescript で Property does not exist on type などと言われたとき

Typescript をコンパイルしたら Property does not exist on type というエラーになるんですけど
宣言していないプロパティを参照するときは注意が必要だよ

というようなコードをコンパイルしたとき

Property ‘hogehoge’ does not exist on type ‘Uiouio’.

と怒られました。

Uiouio のプロパティに hogehoge は定義していませんので、当然と言えば当然なのですが。

でも、とある事情により Uiouio に hogehoge という名前の値を入れてあって、それを使いたいのです。

Uiouio の宣言に hogehoge プロパティを追加すれば良いのですが、UiouioはOpenAPI の自動生成で作成された型なので変更できません。

この困った状況は以下のように書くことで解決できました。

引数の uiouio に型宣言 : any を追加しました。

any はコンパイル時の型宣言の確認はされないようです。