&&
次のように変数を宣言する実用化に興味があります。
var x = undefined && 4;
// Evaluate to the first falsey value
// or else the last value.
eval(x);
// undefined
値がどのように評価されるかを理解しています (この SO 回答を参照してください)。また、その姉妹||
(詳しい説明についてはこちらを参照) と、次の式で変数を宣言すると便利な理由も理解しています。
// Some other variable
var y;
var x = y || 4;
// Evaluate to the first truthy value
// or else the last value.
実際には、最初の値が偽でない限り、最初の値を使用します。その場合は、最後の値を使用してください。||
ブラウザ コンソールで のこの特性を示すことができます。
> null || 4
4
> 4 || null
4
> null || undefined
undefined
> undefined || null
null
> true || 4
true
> 4 || true
4
に関しては&&
:
> null && 4
null
> 4 && null
null
> null && undefined
null
> undefined && null
undefined
> true && 4
4
> 4 && true
true
これを次のように解釈する必要があります: 最初の値が真実でない限り、最初の値を使用します。その場合、最後の値を使用しますか?
条件付きステートメントの使用を最小限に抑えるためにコーディング ショートカットを使用することに興味があります。
jQuery コア ソースの472 行目に、このコーディング方法の例を見つけました。
scripts = !keepScripts && [];
&&
質問は次のとおりです。javascript 変数宣言で使用するための適切なコンテキストを説明できる人はいますか? それは悪い習慣だと思いますか?
ありがとう!