如何检查JavaScript中是否存在对象密钥?

时间:2019-05-30 11:57:14

标签: javascript object ecmascript-6

我从后端获取一个对象,并且该对象具有多个键和值。根据数据库数据,有时某些键将不可用。因此,我使用了三元运算符,但仍然无法正常工作。

 `
  <tr>
     <td>
         ${(df[temp].image.status)?df[temp].image.status:'Not Assigned'}
     </td>
  </tr>
  `

预期结果: 无论是否有“图像”键,都不应有任何错误。 应该是某种状态还是“未分配”;

当前结果: TypeError:df [temp] .image未定义

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:2)

您正在检查已经有undefined的值。首先,您需要验证image存在,然后才能访问其字段。

<tr>
    <td>
        ${(df[temp].image && df[temp].image.status) ? (df[temp].image.status) : 'Not Assigned'}
    </td>
</tr>