Javascript 不确定这种格式是什么意思
我对JavaScript相当陌生,正在复习一些代码。但是有一点我不确定Javascript 不确定这种格式是什么意思,javascript,arrays,Javascript,Arrays,我对JavaScript相当陌生,正在复习一些代码。但是有一点我不确定 product = product !== null && product[0] !== null && product[0].id || ""; 其中乘积是一个数组。有人能帮我理解这是怎么回事吗。任何帮助都将不胜感激。非常感谢 产品!==null它检查产品是否为null,如果是,它将停止在这里,而不进行其他计算(这是实践的,所以您不会得到未定义的,在这种情况下,hmm null) 产品[0
product = product !== null && product[0] !== null && product[0].id || "";
其中乘积是一个数组。有人能帮我理解这是怎么回事吗。任何帮助都将不胜感激。非常感谢
let usr = null
console.log(usr.id)
给出错误未捕获TypeError:无法读取null的属性“id”
在这里输入代码let usr = null
console.log(usr.id)
给出错误未捕获TypeError:无法读取null的属性“id”
在这里输入代码有些人更喜欢尝试catch v--一种方法来理解它的作用,运行它并观察结果 下面是一个JSBin,它显示了3个示例——根据
产品的初始值,这些示例会产生不同的结果
为了进一步澄清这一点,请给出解释
它将尝试评估以下所有前提是否同时为true
,并将product
重新分配给找到的第一个对象(如果找到了这些对象)的id
的值或空字符串(如果没有)
product
数组不是null
及
product
数组的第一个元素不是null
及
product
数组的第一个元素是一个对象,它包含一个带有keyid
的truthy键值对。也就是说,第一个元素可以是这样的:
及
如果3.0为true
-分配id
的值。如果3.0不是true
(id:不包含truthy对象
,数组
,数字
,字符串
,true
-谷歌搜索truthy
的精确定义),那么只需分配空字符串”
,结果将是产品=
李>
一种理解它的作用的方法是运行它并观察结果
下面是一个JSBin,它显示了3个示例——根据产品的初始值,这些示例会产生不同的结果
为了进一步澄清这一点,请给出解释
它将尝试评估以下所有前提是否同时为true
,并将product
重新分配给找到的第一个对象(如果找到了这些对象)的id
的值或空字符串(如果没有)
product
数组不是null
及
product
数组的第一个元素不是null
及
product
数组的第一个元素是一个对象,它包含一个带有keyid
的truthy键值对。也就是说,第一个元素可以是这样的:
及
如果3.0为true
-分配id
的值。如果3.0不是true
(id:不包含truthy对象
,数组
,数字
,字符串
,true
-谷歌搜索truthy
的精确定义),那么只需分配空字符串”
,结果将是产品=
李>
这回答了你的问题吗?同样相关的是,它也有帮助,但是我仍然对这句话有点困惑,特别是当有多个“and”和一个“or”@jknotek不正确时。&&
运算符计算为最后一个计算的操作数。如果第一个操作数为falsy,则返回第一个操作数(0&&true
→ <代码>0
)。如果第一个操作数为truthy,则返回第二个操作数(true&&1
→ <代码>1
;真和空
→ null
)。@jordan是的,谢谢你的更正。这回答了你的问题吗?同样相关的是,它也有帮助,但是我仍然对这句话有点困惑,特别是当有多个“and”和一个“or”@jknotek不正确时。&&
运算符计算为最后一个计算的操作数。如果第一个操作数为falsy,则返回第一个操作数(0&&true
→ <代码>0)。如果第一个操作数为truthy,则返回第二个操作数(true&&1
→ <代码>1;真和空
→ null
)@jordan是的,谢谢你的更正。这正是我要找的帮助之手,非常感谢所有的帮助这正是我要找的帮助之手,非常感谢所有的帮助