質問: ### 前提・実現したいこと vscodeでの開発をしています。 ``` // fugafuga.ts interface Hoge { [key: string]: number } export const fuga: Hoge { fuga0: 0, fuga1: 1 } ``` このコードのinterface、Hogeは動的にプロパティを設定できるようにしました。 オブジェクトfugaにHogeを実装しまして、適当なプロパティをセットします。 このときfugaを再度呼び出したときfugaのプロパティに対してインテリセンスを効かせたいです。 ### 発生している問題・エラーメッセージ ![![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/18d471d98c20d0bf7b21ad4b58fd5e1e.png)](8c3eeca93b3e2de3ee3bb8aaa77f55dd.png) 画像のようにインテリセンスが効きません。 ### 試したこと interfaceからtypeに変更してみましたがだめでした。 ### 補足情報(FW/ツールのバージョンなど) typescript 2.9.2 vscode 1.29.1
回答: ご提示のコードではfugaはHoge型として解釈されてしまいますから、インテリセンスは効かないはずです。 インテリセンスを効かせたいなら、それ用のinterfaceを定義してあげる必要があると思います。 ``` interface Hoge { [key: string]: T } inteface Fuga extends Hoge { fuga0: number fuga1: number } export const fuga: Fuga = { fuga0: 0, fuga1: 1 } ```