TypeScript/JavaScript では optional chaining で null/undefined を点検2025年02月26日 14時25分58秒

TypeScript/JavaScript では、オブジェクトをあれこれと生成する。ほぼ、Python の dict 並の感じのゆるさ。このゆるいオブジェクトのメンバ変数は、それはそれで有用な場面もある。

しかし、そのゆるい変数が逆に首を締める事も。特に多いのが null 例外。アクセスしようと思ったが条件によって存在しない事が。オブジェクトの中のオブジェクトの更に中のオブジェクト等と入れ子になっていると、 != null の長い羅列が面倒、忘れやすい、読みづらい等多々の問題。

それを単純にする為に導入されたのが、optional chaining の ?.の演算子。これを用いると、変数が存在するかを調べた後に次の変数にアクセスされるので、null 誤爆を避けられる。

obj.val?.prop
obj.val?.[expr]
obj.func?.(args)