いくつかのBackbone.jsの例を見ると、すべての.jsファイルの先頭にvar app = app || {};
があります。私はこれの文字通りの意味を理解していますが、それ以外のことに関しては何をしていますか?「var app = app || {};」とは何ですか?行う?
編集:あなたたちは本当に本当に速いです。
いくつかのBackbone.jsの例を見ると、すべての.jsファイルの先頭にvar app = app || {};
があります。私はこれの文字通りの意味を理解していますが、それ以外のことに関しては何をしていますか?「var app = app || {};」とは何ですか?行う?
編集:あなたたちは本当に本当に速いです。
変数がまだ定義されていない場合は、変数app
を空のオブジェクトに定義します。
これは、定義されていないため、JavaScriptでfalse
と評価されます。
定義されている場合、空の文字列など、false
と評価される値を持つ場合、空のオブジェクトとして再定義されます。
これは、「定義済みのアプリが空のオブジェクトであると定義する」を意味します。
JavaScript
のOR
演算子は、必ずしもboolean
です。式の左辺がfalse
の場合、代入は式の右辺になります。
app
が既に定義されている場合、何もしません。 app
が定義されていない場合、それはそれは「truthy」である場合には、第1オペランドを返します。JavaScriptで||
オペレータは、var app = {};
と同等です。そうでなければ、第2オペランドを返します。 app
が割り当てられていない場合、それはundefined
であり、これは「偽り」です。したがって、定義されていないか、または偽である場合、空のオブジェクト{}
はapp
に割り当てられます。
+1正解のみです。 –
具体的には、...「app」の値が偽であれば空のオブジェクトに 'app'を定義します。 – Brad
開始! upvoted +1 –
* "すでに定義されている場合は、ファイルのスコープ内で再定義されます。" *ファイルの範囲内で再定義するのはどういう意味ですか?変数は既にスコープ内にあります。 –