2017-10-23 1 views
-2

Wie es zum Beispiel funktioniert;Dieser Operator || in console.log() funktioniert wie || Operator?

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

wenn

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

wenn

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

es bedeutet ist, dass console.log() erste Wert schreiben, das ist wahr?

+4

Nein, es ist wie '' || funktioniert. –

+0

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

+0

Es hat nichts mit 'console.log()' zu tun. Der Operator '||' gibt einfach den Wert des linken Operanden zurück, wenn er truthig ist, und andernfalls den Wert des rechten Operanden. 'console.log()' empfängt und protokolliert einfach den zurückgegebenen Wert. –

Antwort

5

Was Sie sehen, ist nicht im Zusammenhang mit console.log. Es heißt short circuiting.

Wenn Werte mit || verglichen werden, gibt es immer den ersten truthy Wert zurück. Wenn keine truthigen Werte vorhanden sind, wird der letzte Vergleichswert zurückgegeben.

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

Gibt den ersten Truthy-Wert zurück, wenn der erste Wert truthy ist. Wenn das erste nicht ist, dann gibt es den zweiten Wert zurück, egal ob es truthy ist oder nicht. – Quentin

+0

@Quentin Sehr wahr. Besser geklärt meine Antwort. –