型エイリアス typeとは
型宣言をtypeで記述することができる。
type Age = number
let age: Age = 15
オブジェクト
もちろんオブジェクトもできる。
?
を使うと必ず記述しなくても良くなる。
let o: { a: number, b?: string } = {
a: 2
}
console.log(o.a) // -> 2
console.log(o.b) // -> undefined
readonly
オブジェクトのプロパティを書き換え禁止にできる。
変数で言うconst。
let o3: {
readonly id: number
} = { id: 3 }
o3.id = 2 // -> エラー
ポケモンとtypeでいちゃいちゃする
以上を踏まえてあれこれ触る。
type Action = {1: string, 2?: string, 3?: string, 4?: string }
type Pokemon = {
readonly abst: string,
readonly name: string,
actions: Action
}
let pityu: Pokemon = {
abst: 'ピカチュウの進化前',
name: 'ピチュー',
actions: {1: 'たいあたり', 2: 'しっぽをふる'}
}
pikatyu.actions[3] = "でんきショック"