var google = google || {};
google.Test = google.Test || {};
google.Test.Render = google.Test.Render || {};
上記と以下の違いは何ですか。
var MyCompany = MyCompany || {
MyApplication: {
Model: {}
} };
そして、||の目的は何ですか ?
var google = google || {};
google.Test = google.Test || {};
google.Test.Render = google.Test.Render || {};
上記と以下の違いは何ですか。
var MyCompany = MyCompany || {
MyApplication: {
Model: {}
} };
そして、||の目的は何ですか ?
最初のスニペットは、名前空間の各レベルが存在するかどうかをテストし、存在しない場合はそれを作成します(ただし、最初の行はおそらく存在するはずですvar google = google || {};)。
2つ目は、トップレベルが存在するかどうかのみをテストします。例えば:
var MyCompany = {};
// later in the same scope
var MyCompany = MyCompany || { MyApplication: { Model: {} } };
MyCompanyはすでに定義されているため、この式は次のように評価されますMyCompany = MyCompany。つまりMyCompany、空の要素のままであるため、ネストされたオブジェクトは作成されません。次のコードがの存在に依存している場合、MyCompany.MyApplication失敗します。
ここでは、どのように機能するか||を説明します。Javascriptでは、変数宣言に論理演算子があるとはどういう意味ですか?