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