タグ

2022年12月15日のブックマーク (1件)

  • TypeScriptにおける配列の共変性

    const animal: Animal = { animal: "string", }; const dog: Dog = { animal: "string", dog: "string", }; いま,Dog <: Animalです. <:という記号は2つの型のあいだに書いて,「左の型が右の型のサブタイプである」と読みます. TypeScriptの型システムは構造的なので,2つのオブジェクトがサブタイプ関係にあるには,それらに共通するプロパティについてもまた,サブタイプ関係が必要1です. 今回の例では,DogとAnimalに共通するanimalプロパティについてstring <: stringなのでOKです. TSでは,S <: TならばT型の変数にS型の値を代入できます. つまり,Dog <: Animalなので Animal型の変数にDog型の値を代入できます.

    TypeScriptにおける配列の共変性
    shunkeen
    shunkeen 2022/12/15
    “「反変」ってなんて読むのが正しいんですかね?私は過去「はんぺん」と読んでいたのですが,ある日知り合いから「おでんかよwww」とバカにされたのが悔しくて「はんへん」に矯正したという事情があります”