2017-10-23 7 views
-2

どのように動作しているかその演算子|| console.log()は、||オペレーター?

let x; 
console.log(x || 2); // 2 

let x = 4; 
console.log(x || 2); // 4 

場合

let x = 5; 
let y = 7; 
console.log(y || x || 2); 

場合はそれが真実である最初の値を書き込む)(それはconsole.logを意味ですか?

+4

いいえ、それはどのように '||'が動作するかです。 –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators – Pointy

+0

これは 'console.log()'とは関係ありません。 '||'演算子は、真の場合は左のオペランドの値を返し、そうでない場合は右のオペランドの値を返します。 'console.log()'は単に返された値を受け取り、記録します。 –

答えて

5

あなたが見ているのはconsole.logとは関係ありません。 short circuiting.

||と値を比較すると、常に最初のtruthyの値が返されます。真理値が存在しない場合、比較される最後の値が返されます。

let a = false || true; 
 
let b = false || null || 'b'; 
 
let c = undefined || !a || 10; 
 
let d = undefined || false || null; // no truthy values 
 

 
console.log(a); // true 
 
console.log(b); // 'b' 
 
console.log(c); // 10 
 
console.log(d); // null

+0

最初の値が真実であれば、最初の真理値を返します。最初のものがそうでない場合、それは真実であろうとなかろうと第2の値を返します。 – Quentin

+0

@Quentin非常に真実。私の答えを明確にしました。 –