javascript可选链接仅一个参数

nzkunb0c  于 2023-01-04  发布在  Java
关注(0)|答案(1)|浏览(156)

有没有一种方法可以只在单个参数上实现可选链接?

setAllProperties(
    Object.values(users).flatMap(({ properties }) =>
      Object.values(properties)
    )
  );

我想确保用户文件夹中存在属性文件夹。类似于{properties?...[我只在存在另一个文件夹时使用过tis,如properties?.property_id]
我的数据库中的某些用户没有向其帐户添加任何属性,因此他们将没有属性文件夹。
这导致我的页面崩溃“无法转换空对象”。我如何在这里使用可选链接?
我试着打问号,但语法错误

zyfwsgd6

zyfwsgd61#

可选链接只在你试图直接访问一个对象的成员时有效,但是Object.values(properties)并不直接访问一个成员;访问是在Object.values函数内部完成的,你不能改变它。所以可选链接在这里不起作用。你需要一些更详细的东西。

setAllProperties(
  Object.values(users).flatMap(({ properties }) =>
    properties ? Object.values(properties) : []
  )
);

相关问题