Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不确定这种格式是什么意思_Javascript_Arrays - Fatal编程技术网

Javascript 不确定这种格式是什么意思

Javascript 不确定这种格式是什么意思,javascript,arrays,Javascript,Arrays,我对JavaScript相当陌生,正在复习一些代码。但是有一点我不确定 product = product !== null && product[0] !== null && product[0].id || ""; 其中乘积是一个数组。有人能帮我理解这是怎么回事吗。任何帮助都将不胜感激。非常感谢 产品!==null它检查产品是否为null,如果是,它将停止在这里,而不进行其他计算(这是实践的,所以您不会得到未定义的,在这种情况下,hmm null) 产品[0

我对JavaScript相当陌生,正在复习一些代码。但是有一点我不确定

product = product !== null && product[0] !== null && product[0].id || "";
其中乘积是一个数组。有人能帮我理解这是怎么回事吗。任何帮助都将不胜感激。非常感谢

  • 产品!==null它检查产品是否为null,如果是,它将停止在这里,而不进行其他计算(这是实践的,所以您不会得到未定义的,在这种情况下,hmm null)
  • 产品[0]!==null检查是否为null,因此当.id不存在错误时,无法找到未定义/null的id

    let usr = null
    console.log(usr.id)
    
    给出错误未捕获TypeError:无法读取null的属性“id” 在这里输入代码

  • 简单地说,以下是一些实践来检查变量是否有不需要的值,从而立即停止计算,而不会出现错误。 有些人更喜欢尝试第五条--

  • 产品!==null它检查产品是否为null,如果是,它将停止在这里,而不进行其他计算(这是实践的,所以您不会得到未定义的,在这种情况下,hmm null)
  • 产品[0]!==null检查是否为null,因此当.id不存在错误时,无法找到未定义/null的id

    let usr = null
    console.log(usr.id)
    
    给出错误未捕获TypeError:无法读取null的属性“id” 在这里输入代码

  • 简单地说,以下是一些实践来检查变量是否有不需要的值,从而立即停止计算,而不会出现错误
    有些人更喜欢尝试catch v--

    一种方法来理解它的作用,运行它并观察结果

    下面是一个JSBin,它显示了3个示例——根据
    产品的初始值,这些示例会产生不同的结果

    为了进一步澄清这一点,请给出解释

    它将尝试评估以下所有前提是否同时为
    true
    ,并将
    product
    重新分配给找到的第一个对象(如果找到了这些对象)的
    id
    的值或空字符串(如果没有)

  • product
    数组不是
    null
  • product
    数组的第一个元素不是
    null
  • product
    数组的第一个元素是一个对象,它包含一个带有key
    id
    的truthy键值对。也就是说,第一个元素可以是这样的:
  • 如果3.0为
    true
    -分配
    id
    的值。如果3.0不是
    true
    (id:不包含truthy
    对象
    数组
    数字
    字符串
    true
    -谷歌搜索
    truthy
    的精确定义),那么只需分配空字符串
    ,结果将是
    产品=

    一种理解它的作用的方法是运行它并观察结果

    下面是一个JSBin,它显示了3个示例——根据
    产品的初始值,这些示例会产生不同的结果

    为了进一步澄清这一点,请给出解释

    它将尝试评估以下所有前提是否同时为
    true
    ,并将
    product
    重新分配给找到的第一个对象(如果找到了这些对象)的
    id
    的值或空字符串(如果没有)

  • product
    数组不是
    null
  • product
    数组的第一个元素不是
    null
  • product
    数组的第一个元素是一个对象,它包含一个带有key
    id
    的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是的,谢谢你的更正。这正是我要找的帮助之手,非常感谢所有的帮助这正是我要找的帮助之手,非常感谢所有的帮助