以下の構文を使う。
```ts
// ^?
```
`^`の真上に位置する対象の型を推論できる。
[[🎮TypeScript Playground]]で以下のコードを入力すると...
```ts
type Animal = "dog" | "cat" | "owl";
declare const seed: Animal;
// ^?
const goemon = seed.charAt(0)
// ^?
if (goemon !== "dog") {
goemon
// ^?
} else {
goemon
// ^?
}
```
<button class="playground"><a href="https://www.typescriptlang.org/play?#code/C4TwDgpgBAggdgSwLYEMA2UC8UBEATAewHMcoAfXAYxWFIpwIHc0cBuAKHbwkrRQCdolAnADOwKKIgQ8ALliJUaDgHoVUDZq3btAPQD8nYWIlECEJCKyTpeAHSUAFgJjAAFAAYAlOzV7D7AgAZlBuZhZWAISY2PjEOF5QAN7sWuGWcKmafgbsAL5QEGhSyVka6SJlUDmGeexAA">Playground</a></button>
こんな感じに表示される。
![[Pasted image 20230420195901.png]]
> [!attention]
> 灰色背景の部分はテキストとしてコピペできない。ただ、画像で共有したり、[[🎮TypeScript Playground]]のShare機能を使えば共有できるし、試行錯誤もしやすい。