見出し画像

【ワンピースで覚えるTypeScript】第5回 部分型(JavaScript学習者向け)

TypeScriptにおける部分型の考え方について、紹介します。

包含関係をイメージすることが重要ですね!

//人
type Person = {
  name: string;
  age: number;
}

//能力者
type AbilityPerson = {
  name: string;
  age: number;
  devil_fruit: string;
}

// => 能力者は人の部分型
const luffy: AbilityPerson = {
  name: "ルフィ",
  age: 19,
  devil_fruit: "ゴムゴムの実"
}

//海王類
type SeaKing = {
  kind: string;
}

const main_character: Person = luffy;
//console.log(main_character);
//const main_character1: SeaKing = luffy;
//console.log(main_character1);

/*
const Ace: Person = {
  name: "エース",
  age: 20,
  devil_fruit: "メラメラの実"
}
*/

const Ace_obj = {
  name: "エース",
  age: 20,
  devil_fruit: "メラメラの実"
}
//型推論

const Ace: Person = Ace_obj;
//ただの変数に代入されているのでチェックはない

console.log(Ace);

この記事が気に入ったらサポートをしてみませんか?