【ワンピースで覚える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);