1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

typescriptの「はてなドット」について

Posted at

概要

typescriptに?.という表現がある。
Google検索時には「typescript はてなドット」のようなサジェストが挙がる。
オプショナルチェーン(optional chaining)という記法でnullundefinedの可能性があるプロパティにアクセスするときにとても便利。

参考

オプショナルチェーン (optional chaining) | サバイバルTypeScript

サンプル

次のようにundefinedな可能性のあるオブジェクトhogeに対してfuga()メソッドを呼び出すときに使える。

interface Hoge {
    fuga: () => void
}

const sample1 = (hoge: Hoge | undefined) => {
    hoge?.fuga() // undefinedの可能性のあるhogeからfuga()を呼び出す。
}

?.を使わずにhoge.fuga()と書いてしまうとundefined.fuga()の意味合いとなってしまいエラーとなる。
簡単に言えば次のif分を省略するために?.が使える。

const sample2 = (hoge: Hoge | undefined) => {
    if (hoge) {
        hoge.fuga()
    }
}
1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?