6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【TypeScript】オプショナルプロパティ(Optional Property)

Last updated at Posted at 2021-12-04

概要

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プロパティが足りないとエラーになる
6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?