14

私はJavascriptの例でこれを見ました

my_var = my_var || 69

my_var が 69 に設定されていない場合は、my_var が存在するかどうかを確認することを意味すると思います。これは事実ですか? これに関するドキュメントはありますか。Google/SO 検索として表現するのは非常に困難です。

(この例では 69 を使用していません。それは私が下手なだけです)

4

3 に答える 3

12

JS コンソールで簡単に試すことができます。

var my_var
my_var = my_var || 69
//69

var my_var = 5
my_var = my_var || 69
//5

変数が現在偽の値を持っている場合にのみ、変数を設定しています。

JS の偽値は次のとおりです。

  1. false
  2. null
  3. undefined
  4. 空の文字列''
  5. 数 0
  6. 数 NaN
于 2013-05-10T09:35:04.750 に答える
0

この|| or演算子には 2 つのオペランド (左と右) があります。左側の値が真であるかどうかをチェックし、真である場合はそれを変数に割り当て、そうでない場合は右側の値を変数に割り当てます。

var my_var = false;
my_var = my_var || true;
//true
于 2013-05-10T09:39:13.190 に答える
0

ほとんどの場合、「デフォルト」と呼ばれます。値は の後の値に「デフォルト」設定されます||if操作は、ステートメントを使用して行うのと同じように、緩い比較です==

次のような虚偽ではないもの:

  • 間違い
  • 空文字列 ( '')
  • ヌル
  • 未定義
  • 0
  • NaN

真と見なされます。最初の値がこれらのいずれでもない場合、それが割り当てられています。そうであれば、右側の値が割り当てられます。

于 2013-05-10T09:37:06.770 に答える