Okarin note

頭の整理もかねて色々と書いていきます

オプショナルチェイニング(?.)とNull合体を使うとシンプルになる

三項演算子を結構多用していたけれどオプショナルチェイニングとNull合体を合わせれば良かったらしい。

先輩からの指摘で知りました。

const obj = {
    one: 1,
    two: 2,
}

const hoge = obj.one != null ? obj.one.toString() : ''

上みたいに書いていたんですが、

const obj = {
    one: 1,
    two: 2,
}

const hoge = obj.one?.toString() ?? ''

こう書けるようですね。

オプショナルチェインで参照するものの中身を見て値が無かったらその後の処理をスキップしてundefinedを返す。
その後にNull合体で値を評価する処理。

こういう書き方あるんだーと思ってもあまり理解せずに使っていることも多いので気を付けたいですね。

developer.mozilla.org

developer.mozilla.org