javascript - 什么时候可以将管道运算符用于条件参数? - JavaScript

标签 javascript jquery null operator-keyword pipeline

我的代码中有以下行:

var cart = $("#dynamo_shop_window .dynamo_content tbody .shop_cart").html();

但是,如果页面上没有匹配的元素,我希望 cart 的值是一个空字符串,即:

!$("#dynamo_shop_window .dynamo_content tbody .shop_cart").size();

如果是这种情况,var cart = null;,无论如何根据 Chrome 的开发者工具。

要给它空字符串值,我有什么理由应该使用 cart = cart !== null 吗? cart : ''; 在上面的代码之后,而不是将上面的代码替换为:

var cart = $("#dynamo_shop_window .dynamo_content tbody .shop_cart").html() || '';

.html() 永远不会返回 0 或任何其他与 false 相关的语句。

最佳答案

不,不是真的。只要左侧有 falsey 值,双管道运算符就会落到右侧,因此 undefinednullNaN0""

如果在所有这些情况下,您希望 cart 成为 "":那就去做吧。使用 ||

关于javascript - 什么时候可以将管道运算符用于条件参数? - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12009579/

相关文章:

javascript - 在 Javascript 中按对象名称移动对象的键

javascript - 允许点击但禁用链接

javascript - clearInterval() 无法正常工作

当两个参数都可以为 null 时,Equals() 的 C# 简写

c# - 对具有空值的列表进行排序

javascript - 始终在溢出表的屏幕上显示水平滚动条

javascript - 如何在 HTML 5 中捕获屏幕(视频格式)?

javascript - 使用 jquery 定义如何在基于数据表插件的网格中添加自定义链接按钮

javascript - 使用 onKeyUp 时禁用 javascript 中的箭头键

java - 是否有 Java 8 .or() 返回当前值或提供的默认值的可选?