2 回答
TA贡献1777条经验 获得超3个赞
一种理解这是做什么的方法来运行它并观察结果。
product这是一个显示 3 个示例的 JSBin - 根据- https://jsbin.com/roruvecubi/edit?js,console的初始值产生不同的结果
为了进一步澄清这个解释......
它将尝试评估所有以下前提是否true同时存在并重新分配product给找到的第一个对象的值id(如果找到这些),否则重新分配一个空字符串。
product数组不是null
和
数组的第一个元素
product不是null
和
数组的第一个元素
product是一个对象,其中包含一个带有 key 的真实键值对id。即第一个元素可能是这样的:
{
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- Google 的精确定义truthy),那么只需分配空字符串"",因此结果将是product = "";
TA贡献1829条经验 获得超7个赞
product !== null 它检查 product 是否为 null 如果它是它会在此处停止并且不进行其他计算(这是实践的,因此您不会得到未定义,在这种情况下,hmm null)
product[0] !== null 检查是否为 null,所以当 .id 时你不会得到错误 can't find id of undefined / null
let usr = null console.log(usr.id)
GIVES ERROR Uncaught TypeError: Cannot read property 'id' of null enter code here
简而言之,这些是检查 VARIABLE 是否有不需要的值以在此处停止计算并且不会出错的一些做法。有些人更喜欢尝试 catch v--
添加回答
举报
