我对 JavaScript 相当陌生,正在检查一些代码。然而,有一点我不确定。
product = product !== null && product[0] !== null && product[0].id || "";
其中,product 是一个数组。有人可以帮我理解这是做什么的吗?任何帮助将非常感激。非常感谢 =)
最佳答案
了解其作用的一种方法是运行它并观察结果。
这是一个 JSBin,显示了 3 个示例 - 根据 product
的初始值,它们会产生不同的结果 - https://jsbin.com/roruvecubi/edit?js,console
通过解释进一步澄清这一点...
它将尝试同时评估以下所有前提是否为true
,并将product
重新分配给id
的值找到的第一个对象的名称(如果找到的话),否则为空字符串。
product
数组不为null
和
product
数组的第一个元素不为null
并且
product
数组的第一个元素是一个对象,其中包含带有键id
的真实键值对。 IE。第一个元素可能是这样的:
{
id: "someValue" // product[0].id would be a truthy value in this case
}
并且
- 如果 3.0 为
true
- 分配id
的值。如果 3.0 不是true
(id:不包含真实的object
、array
、number
、string
,true
- 谷歌搜索truthy
的精确定义),然后只需分配空字符串""
,因此结果将是产品=“”
;
关于javascript - 不确定这种格式意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59075353/