Attacklab.wmd_env.buttons=Attacklab.wmd_env.buttons||_4;
||は何ですか この場合はどうしますか?
Attacklab.wmd_env.buttonsである配列に_4を追加しますか?
Attacklab.wmd_env.buttons=Attacklab.wmd_env.buttons||_4;
||は何ですか この場合はどうしますか?
Attacklab.wmd_env.buttonsである配列に_4を追加しますか?
JavaScriptの||
演算子は、その値がに評価されない場合は左側の値をfalse
返し、そうでない場合は右側の値を返します。
MozillaのコアJavaScript1.5リファレンスから:
expr1 || expr2
expr1
trueに変換できるかどうかを 返します。それ以外の場合は、を返しますexpr2
。したがって、ブール値とともに使用すると、||
いずれかのオペランドがtrueの場合にtrueを返します。両方がfalseの場合、falseを返します。
したがって、この場合、Attacklab.wmd_env.buttons
値がない場合は、値がに設定され_4
ます。
それは素晴らしい書き方です
if(!Attacklab.wmd_env.buttons)
Attacklab.wmd_env.buttons = _4;
デフォルト値を提供するのに便利です。null
条件付きだけでなく、、、および、つまりブール値のコンテキストで考慮されるすべてのものをundefined
トリガーすることを覚えておいてください。0
false
''
false
Attacklab.wmd_env.buttons
がnull
またはの場合undefined
、デフォルト値に設定されます_4
。
|| 演算子は、式の左側に指定された値がfalseであるかどうかをチェックします(ブール値のコンテキストで)。その場合、式の右辺で示される代替値を返します。それ以外の場合は、元の値を返します。
したがって、たとえば、次のコードは、nullの場合、「Foo」をデフォルト値に設定します。
Foo = Foo || 「デフォルト値」
これは、合体演算子と呼ばれることもあります。RubyやPerlなどの他の言語でサポートされています。C#には?? 同じことをする演算子。