generated at
Optional Chaining
TypeScript3.7から入った演算子


今まで以下のように書いていたもののショートハンドのシンタックス
ts
const x = foo != null && foo.bar != null && foo.bar.baz() // いままで const x = foo?.bar?.baz() // use OptionalChaining
JSにコンパイルするときは今まで通り
簡潔にかけて嬉しい!
もちろん strictNullChecks: true じゃないと、元々エラーにならない
関数呼び出しにも使える
ts
add?.(2, 3)
確かにエラーで「TypeError: "hogehoge" is not a function」よくみるもんなmrsekut

Nullish Coalescing演算子と組み合わせて、以下のように書ける
const x = foo?.bar?.baz() ?? 'baz'
React Navigation v4のgetParams()みたいな使い心地

配列に対しても使える
?.[]




Swiftにもある


参考
他言語についても、詳しい