https://www.typescriptlang.org/docs/handbook/2/objects.html#index-signatures
以下の`OK1`と`Ok2`は問題ないが、`Ng1`と`Ng2`はエラーになる。
```ts
type Ok1 = {
[key: string]: number
hoge: number
}
type Ok2 = {
[key: string]: number | string
hoge: number
hoga: string
fuga: number | string
}
type Ng1 = {
[key: string]: number
hoge: string
}
type Ng2 = {
[key: string]: string
hoge: number
}
```
<button class="playground"><a href="https://www.typescriptlang.org/play?#code/C4TwDgpgBA8g1gRigXigbwFBSgbThEALigGdgAnASwDsBzAXWOoFcBbAIwnKygAsB7WhCZtO3AL4YMoSLDgAmFOh54CxMlTqMoLDlygAfUhRq0eAoSL3dsFgIbqTdHgDNmtBztH6jG0xklpcGgAOVokVExsVSJjTQYrMXNBYTj-QJlQ2kVIlXxYvy1HeOTLL2sAoA">Playground</a></button>