私はこのパターンをいたるところで見てきましたが、それが何をするのかわかりません:
x.memb = x.memb ? x.memb + 1 : 1;
カウンターだと思いますが、よくわかりません。誰かがこれが何をし、ロジックを説明できますか?
私はこのパターンをいたるところで見てきましたが、それが何をするのかわかりません:
x.memb = x.memb ? x.memb + 1 : 1;
カウンターだと思いますが、よくわかりません。誰かがこれが何をし、ロジックを説明できますか?
x.memb
がすでに定義されていて、が定義されていない場合は0
、それをインクリメントします。それ以外の場合は、値をに設定します1
。
x.memb
これは基本的に、定義されていない場合の処理を行うための単なる増分です。
あなたはそれを次のように書くこともできたでしょう
x.memb = (x.memb||0) +1;
value||defaultValue
これは、javascriptの通常の構成よりも慣用的なものである可能性があります。
これは、いくつかのカウントを行う三元オペレーターです。
本質的にそれはこれをやっている
if(x.memb)
x.memb = xmemb + 1; //increment it
else
xmemb = 1; //start it off
それは単なる速記です。前のもの?
が真の:
場合は前のものを返し、偽の場合は後のものを返します。:
これは、カウントとは関係のないあらゆる種類のフォークにとって非常に便利なメカニズムであることに注意してください。この状況では、そのように使用されているだけです。