概要
TypeScriptのオプショナルプロパティ(Optional Property)について、学んだことや理解したことなどを記載する。
この記事で理解できること
- オプショナルプロパティとはなにか
- いつ、どのように使用するのか
オプショナルプロパティ(Optional Property)とは
- オブジェクトのプロパティを
任意プロパティ
として定義したい場合に使用する。 - プロパティの末尾に「
?
」を付加することで、
そのプロパティはオプショナル(任意)なプロパティ
であることを定義できる。
// 以降のオブジェクトで使用する型エイリアス(名前の付いた型)を定義
type Human = {
name: string; // 名前
age: number; // 年齢
hobby?: string; // 趣味(「?」を付加したことで、オプショナル(任意)なプロパティになる)
}
// 以降のオブジェクトにHuman型を指定する
const member1: Human = {
name: 'Taro', // 必須
age: 24, // 必須
hobby: 'running' // 任意
}
// => OK
const member2: Human = {
name: 'Jiro', // 必須
age: 24, // 必須
}
// => OK hobbyプロパティは任意のプロパティなので、存在していない場合でもエラーにならない
const member3: Human = {
name: 'Hanako', // 必須
hobby: 'cooking' // 任意
}
// => NG Human型では必須のageプロパティが足りないとエラーになる
const member4: Human = {
hobby: 'running' // 任意
}
// => NG Human型では必須のname、ageプロパティが足りないとエラーになる