0

三項演算子を使用していますが、else 句を使用せずにチェックしたいことがよくあります。これを省略する簡単な方法があるかどうか疑問に思っています。

私はそれを見つけました

a ? b : {}

の代わりとして機能し、if (a) {b}2 文字を節約しますが、そうではありません

a ? b :

三項演算子なので、これは理にかなっていると思います。

私の唯一の考えは、それらの空の中括弧は少し見苦しい:ということです。空白のステートメントを指定する他の方法はありますか?

または、二項?演算子はありますか? 私は仕様を調べましたが、二項論理演算子をどのように使用するかわかりません。それifが目的だと思います。

二項論理演算子を使用して {} の条件または省略形を表現する方法はありますか? これはおそらく 3 人のキャラクターにとって怠惰の極みであることはわかっていますが、共有できるトリックが誰か知りたいです。

4

2 に答える 2

5

コードにはいくつかの問題があります。

  • そうしないでください。ややこしい

  • {}空のブロックではありません。それはオブジェクトリテラルです。 ""または0または42同じ効果があります。

  • オペレーターは&&あなたが望むことをします。

于 2014-05-04T13:44:30.210 に答える
2

三項? :式では、サブセクションはステートメントではなく、です。使用されたのを見たことがありません{}。それは問題ありませんが、文字通り、空でない式はすべて機能します。

a ? b : 0

a ? b : false

a ? b : null

a ? b : 2 + 2

これは、単純な条件をテストするような単純なロジックをコーディングする最も明確な方法ではありません。私のif意見では、ステートメントはより明確であり、構文上の要件を満たすためだけに意味のない式を選択しなければならないという不快な問題はありません。

これも慣用的ですが、(繰り返しになりますが、意見)あまり明確ではありません。

a && b;

これは、一部の言語に存在する「ガード」と呼ばれる構造を模倣しています。

于 2014-05-04T13:45:22.673 に答える