Typescript は ?. 演算子をサポートしていますか? (そして、それは何と呼ばれますか?) 質問する

Typescript は ?. 演算子をサポートしていますか? (そして、それは何と呼ばれますか?) 質問する

Typescriptは現在(または計画中)をサポートしていますか?安全な航行の演算子?.

例:

var thing = foo?.bar
// same as:
var thing = (foo) ? foo.bar : null;

また、この演算子にはもっと一般的な名前がありますか (Google で検索するのは非常に困難です)。

ベストアンサー1

はい。TypeScript 3.7(リリース日:2019年11月5日) では、この機能がサポートされており、Optional Chainingと呼ばれます。

本質的に、オプショナル チェーンを使用すると、 または に遭遇した場合に TypeScript が一部の式の実行を直ちに停止できるコードを記述できますnullundefinedオプショナル チェーンの主役は、オプショナル プロパティ アクセス?.の新しい演算子です。

参照TypeScript 3.7 リリースノート詳細については。


バージョン3.7より前では、これはTypeScriptではサポートされていませんでしたが、TypeScript リポジトリの問題 #16(2014年に遡ります)。

この演算子を何と呼ぶか​​に関しては、合意が得られていないようです。「オプショナルチェイニング」(これもまた呼ばれています)に加えて、JavaScriptでそして迅速)、他にもいくつか例があります:

  • CoffeeScriptではこれを存在演算子(具体的には、存在演算子の「アクセサ バリアント」):

存在演算子のアクセサーバリアントは、?.プロパティのチェーン内の null 参照を吸収するために使用できます。基本値がnullまたはundefined.になる可能性がある場合は、ドットアクセサーの代わりにこれを使用します。

ヌル条件演算子は、そのオペランドが非ヌルと評価される場合にのみ、メンバー アクセス?.、または要素アクセス、操作をそのオペランドに適用します。それ以外の場合は、 を返します。?[]null

他にもたくさんの例があると思います。

おすすめ記事