JavaScript で名前空間が次のように定義されているのを見てきました。
var AppSpace = AppSpace || {};
および/または
var namespace = {};
誰でも教えてもらえますか:
- 違いは何ですか?
- || とは || 最初の例では?
- 最初の例で が
AppSpace
2 回使用されているのはなぜですか? - 推奨される構文はどれですか?
JavaScript で名前空間が次のように定義されているのを見てきました。
var AppSpace = AppSpace || {};
および/または
var namespace = {};
誰でも教えてもらえますか:
AppSpace
2 回使用されているのはなぜですか?||
演算子は、Javascriptlogical or
では、左のオペランドが true の場合は左のオペランドを返し、そうでない場合は右のオペランドを返します。名前空間が既に定義されているかどうかわからない場合は、コード内の複数の場所 (別のファイルなど) で再利用できるため、最初の構文が推奨されます。
var AppSpace = AppSpace || {}; // AppSauce doesn't exist (falsy) so this is the same as:
// var AppSauce = {};
AppSauce.x = "hi";
var AppSpace = AppSpace || {}; // AppSauce does exist (truthy) so this is the same as:
// var AppSauce = AppSauce;
console.log(AppSauce.x); // Outputs "hi"
対:
var AppSpace = {};
AppSauce.x = "hi";
var AppSpace = {}; // Overwrites Appsauce
console.log(AppSauce.x); // Outputs undefined