まず、loggedIn を初期化する最も簡単な方法は、boolean である hasClass の戻り値を割り当てることです。
var loggedin = $('body').hasClass('loggedin');
あなたが覚えているのは、論理 OR 演算子を使用して、変数のデフォルト値を提供する簡単な方法です。これは、true と評価される最初の値、またはすべてが false の場合は最後の値を返します。
jamie = jamie || 'or maybe not'; // identical to if (!jamie) jamie = 'or maybe not';
最後に、|| 演算子は、変数の初期値が偽である特定のエッジ ケースで失敗します。
function f(number) {
number = number || 10; // if number is not provided, default to 10
console.log(number);
}
f(0) // whoops, number was provided, but it will log 10 instead.
null
そのような場合 (通常、 andに対してのみチェックしたい場合に発生しますundefined
)、すべての偽の値ではなく、条件演算子を使用できます。
number = number != null ? number : 10;
これは少し冗長ですが、それでもデフォルトを提供する非常に洗練された方法です。