JavaScript 双管道

Shraddha Paghdar 2022年5月10日
JavaScript 双管道

有时我们不知道对象的属性是否包含值,或者是否设置了变量。我们希望我们的代码使用备份值,即使该值未设置。本文将介绍 JavaScript 双管道||

JavaScript 支持各种运算符,如赋值、算术、逻辑、条件等。JavaScript 逻辑运算符通常与布尔(逻辑)值一起使用。如果使用布尔值,它们会根据运算符的类型返回一个布尔值。

ANDOR 运算符根据结果返回指定操作数之一的值。因此,当与非布尔值一起使用时,这些运算符可以返回非布尔值。逻辑运算符支持逻辑与 (&&)、逻辑或 (||) 和逻辑非 (!)。

JavaScript 双管道

逻辑 OR 如果可以转换为 true,则返回 expr1;否则,它返回 expr2。因此,如果与布尔值一起使用,如果操作数为真,它将返回 True;;如果两者都为假,则返回假。

将被视为假的值是 nullNaN0、空字符串(""'')和 undefined。使用 !(!bCondition1 && !bCondition2) 可以将逻辑 OR 运算符转换为逻辑 AND。有关更多信息,请阅读 Logical OR 运算符的文档。

语法:

expr1 || expr2

示例代码:

let a = "Hello";
let b;
console.log(a || "Not Found");
console.log(a ? a : "Not Found");
console.log(b || "Not Found");

在上面的例子中,||检查 a 的计算结果是否为 true。如果是,它将返回 Hello;否则,它返回 Not Foundb 也是如此。

上面的表达式也可以使用 JavaScript 的三元运算符来编写,它做同样的事情。但是逻辑或作为 JavaScript 三元运算符的简写。前面代码的输出与下图相同。

输出:

"Hello"
"Not Found"
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn