はじめに TypeScript の discriminated union(判別可能なユニオン型)を導入することで、条件分岐をより安全かつ明示的に記述できるようになったことに気づいたので、それを共有します。 背景・動機 実務で、ユーザー情報の「登録」と「更新」を同じフォームコンポーネントで扱う場面がありました。 当初は user.id !== undefined のような条件で処理を分けていたのですが、似たような分岐が増えるし、見づらいなあと感じていました。 「このやり方、本当にベストなんだろうか…?」と感じていたある日、同じような実装をしていたシニアの方が、TypeScript の disc…