Typescriptは現在(または計画中)をサポートしていますか?安全な航行の演算子?.
例:
var thing = foo?.bar
// same as:
var thing = (foo) ? foo.bar : null;
また、この演算子にはもっと一般的な名前がありますか (Google で検索するのは非常に困難です)。
ベストアンサー1
はい。TypeScript 3.7(リリース日:2019年11月5日) では、この機能がサポートされており、Optional Chainingと呼ばれます。
本質的に、オプショナル チェーンを使用すると、 または に遭遇した場合に TypeScript が一部の式の実行を直ちに停止できるコードを記述できます
null
。undefined
オプショナル チェーンの主役は、オプショナル プロパティ アクセス?.
の新しい演算子です。
参照TypeScript 3.7 リリースノート詳細については。
バージョン3.7より前では、これはTypeScriptではサポートされていませんでしたが、TypeScript リポジトリの問題 #16(2014年に遡ります)。
この演算子を何と呼ぶかに関しては、合意が得られていないようです。「オプショナルチェイニング」(これもまた呼ばれています)に加えて、JavaScriptでそして迅速)、他にもいくつか例があります:
- CoffeeScriptではこれを存在演算子(具体的には、存在演算子の「アクセサ バリアント」):
存在演算子のアクセサーバリアントは、
?.
プロパティのチェーン内の null 参照を吸収するために使用できます。基本値がnullまたはundefined.
になる可能性がある場合は、ドットアクセサーの代わりにこれを使用します。
- C#ではこれをヌル条件演算子。
ヌル条件演算子は、そのオペランドが非ヌルと評価される場合にのみ、メンバー アクセス
?.
、または要素アクセス、操作をそのオペランドに適用します。それ以外の場合は、 を返します。?[]
null
- Kotlinではこれを安全な通話オペレーター。
他にもたくさんの例があると思います。