2012-05-22 8 views
6

Javascriptコード:||オペレータ通知

var a = (b) ? b : 40; 

それが働いている、ちょうどNetBeansは言う: "||演算子(コラム[?である])を使用してください"。私は何の説明も見つけられませんでした。

この意味は?

ありがとうございます!あなただけbのtruthynessのためにテストしている場合

+2

参照http://stackoverflow.com/questions/2802055/what-does-this-construct-xxy-mean –

答えて

6

あなたはこれを行うことができます。

var a = b || 40; 

...短く、(間違いなく)より明白。 JavaScriptでは、||は短絡演算子です。それが真の場合は左辺を返し、そうでない場合は右辺を返します。 (すなわち、入力がブール値でない限り、ブール値を返さない)。

あなたはbが実際に定義されているかどうかを確認したい場合は、とオフに優れている:パイプがorの文です

var a = (typeof b !== "undefined") ? b : 40; 
+0

どのような種類のプログラム言語はまだそれを動作させる? –

+0

@GáborVarga - 私はあなたが何を求めているか全く分かりません。 – Quentin

3

var a = b || 40は、bが偽値でない場合、a = b、そうでない場合は40とします。