以下のようなコードを書いています。

```

    export default function hogeStore()  {
      const getters = {
        get huga() {
        }
      }
    
      return { getters }
    }
    
```

利用側で `hogeStore().getters.huga` とすると

```

    Property 'getters' does not exist on type 'unknown'.
    
```

というエラーが出ます。

正しく型をつけるにはどのように書けばよいでしょうか。  
よろしくお願いいたします。
CC BY-SA 4.0
2020-09-10T23:50:39.297
70302
2020-09-11T13:35:26.233
2020-09-11T13:35:26.233
32986
10865
question
typescript
TypeScript の型の付け方について
あなたのコードではローカルな定数`getters`を作成していますが、その定数は使用しないまま戻り値が何もない状態で関数`hogeStore()`が終了しています。戻り値を返していないので、その値は`undefined`、`undefined`には`getters`なんてプロパティはありませんからエラーになっています。

戻り値を返せば、その戻り値を利用できます。

```

    export default function hogeStore() {
      const getters = {
        get huga() {
           ...
        }
      }
      return getters; //<-
    }
    
    var result = hogeStore().huga;
    
```

どうしても、`hogeStore().getters.huga`という風に呼び出しがしたいなら、

```

    export default function hogeStore() {
      const getters = {
        get huga() {
           ...
        }
      }
      return {getters: getters}; //<-
    }
    
    var result = hogeStore().getters.huga;
    
```

などと書けるでしょう。
CC BY-SA 4.0
2020-09-11T00:58:19.450
70305
2020-09-11T00:58:19.450
13972
70302
answer