它是如何工作的例子;
let x;
console.log(x || 2); // 2
Run Code Online (Sandbox Code Playgroud)
如果
let x = 4;
console.log(x || 2); // 4
Run Code Online (Sandbox Code Playgroud)
如果
let x = 5;
let y = 7;
console.log( y || x || 2);
Run Code Online (Sandbox Code Playgroud)
这是指console.log()写第一个值是真的吗?
你所看到的与你无关console.log.这叫做短路.
比较值时||,它将始终返回第一个真值.如果不存在真值,则它将返回被比较的最后一个值.
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); // nullRun Code Online (Sandbox Code Playgroud)