那个运算符||在console.log()中的作用类似于||运营商?

时间:2017-10-23 14:05:30

标签: javascript

它是如何工作的例子;

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()写的第一个值是真的吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

expr1 || expr2如果可以转换为true,则返回expr1;否则,返回expr2。因此,当与布尔值一起使用时,||如果任一操作数为真,则返回true。

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