サバイバルTypeScriptの「共変性」についてお聞きしたいことがあります
以下の箇所についてですが、「スーパータイプ」とあるのですが、そもそもどこにも継承しているような記述は見当たりませんでした。コードを見る限り、Animal及びDog型を定義しそれぞれ変数に適用させているだけのように思えます。
こちらの記述の意味につきまして、どなたかご助言頂けないでしょうか。
一方で共変では、Dog型の変数には、DogのスーパータイプであるAnimalは代入できません。
type Animal = { isAnimal: boolean }; type Dog = { isAnimal: boolean; isDog: boolean }; let pochi: Dog = { isAnimal: true, isDog: true }; let animal: Animal = pochi; //
回答1件
あなたの回答
tips
プレビュー