【ファントムがた】
ファントム型 とは?
💡 幽霊のように見えない型が、バグを成仏させる
📌 このページのポイント
ファントム型って、幽霊みたいな型なの?
いい直感だよ!型パラメータとして宣言はされているけど、実行時のデータには現れない型のことだよ。
データに現れないのに、何のために使うの?
じゃあ間違えてAnonymousのトークンで機密データを取ろうとしたらどうなるの?
コンパイルエラーになるよ!実行すら試みる前に弾かれるから、実行時のチェックが要らなくなるんだ。
それって速度面でもうれしいね!
そう、ゼロコスト抽象化と呼ばれる考え方だよ。RustやHaskell、TypeScriptなどで使われていて、実行時に余分なコストをかけずに安全性を保証できるんだ。
どんな場面で特に役立つの?
まとめ:ざっくりこれだけ覚えればOK!
「ファントム型」って出てきたら「実行時には消えるけどコンパイル時に状態を守る型の仕掛け」と思えればだいたいOK!
📖 おまけ:英語の意味
「Phantom Type」 = 幽霊型
💬 "Phantom(幽霊)"は「実際には存在しない」という意味。データとして存在しないが型システムには見える型パラメータだよ。