web-dev-qa-db-ja.com

React JS / Typescriptのnull合体演算子

.NETにNull融合演算子があり、次のように使用できます

string postal_code = address?.postal_code;

React JSでも同じことができますか?

&&演算子で実行できるように私が見つけたもの

address.tsファイル内

string postal_code = address && address.postal_code;

typeScriptでreact JSを使用して.net機能のようなものが必要ですが、それは可能ですか?

何かのようなもの:

string postal_code = address?.postal_code // I am getting the error in this line if I try to use like .NET
8
Praveen Kumar

これは伝説的な Issue#16 の下のTypeScriptで提案された機能です。

TypeScriptの実装がその仕様に従うことが望まれるため、この機能のECMAScript仕様が確定するまでは、TypeScriptに導入されません。そのため、早期に入手できますが、この場合は大規模な早期ではありません。

次のいずれかと呼ばれます。

  • Null伝播演算子
  • 存在するオペレーター
  • ヌルコアレスオペレーター
6
Fenton

JavaScriptにはnull融合演算子がありません(TypeScriptにもありません(これはがほとんどで、型レイヤーの追加とかなり遠くにある機能の採用に限定されます)。 JavaScriptにするためのパス)。 JavaScript null- coalescing演算子の提案 がありますが、それは プロセス のステージ1のみです。

説明した&&イディオムを使用するのは、かなり一般的なアプローチです。

let postal_code = address && address.postal_code;

addressnull(またはその他の偽の値)の場合、postal_codeは同じ値になります。それ以外の場合は、address.postal_codeの値になります。


¹偽の値は0""NaNnullundefined、そしてもちろんfalseです。

2
T.J. Crowder