以下の構文を使う。 ```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機能を使えば共有できるし、試行錯誤もしやすい。