我正在努力了解JavaScript库,并且遇到了以下语句:
const assetsManifest = process.env.webpackAssets && JSON.parse(process.env.webpackAssets)
然后在库中,它assetsMannifest像对象一样使用
assetsManifest['/vendor.js']
我认为&&运算符仅用于返回boolean逻辑检查中的值。有人可以告诉我这是怎么回事吗?
非常感谢,
克莱门特
此运算符并不总是返回trueor false。它不像在其他一些编程语言中那样工作。在 JavaScript 中,&&如果为假则返回第一个值,否则返回第二个值。
例子:
null && 5返回null因为null是假的。
"yeah yeah" && 0返回0是因为每个字符串都是真实的。
不那么明显:-)
进一步阅读:
&&返回第一个值转换为false或最后一个值转换为true。这是因为如果第一个值为,则无需使用&&来计算完整的逻辑条件falsy
console.log(55 && 66);
console.log(0 && 77);
console.log(88 && 0);Run Code Online (Sandbox Code Playgroud)
您也可以使用&&或||作为if运算符:
if (itsSunny) takeSunglasses();
Run Code Online (Sandbox Code Playgroud)
等于
itsSunny && takeSunglasses();
Run Code Online (Sandbox Code Playgroud)