函数 return 上的点点

Dot dot dot on return from function

有人可以解释 "dot dot dot" 在 return 的 Firebase 这样的观察结果吗?

      return actions.map(action => {
    const data = action.payload.doc.data() as Todo;
    const id = action.payload.doc.id;
    return { id, ...data };
  });

我在 Google Firebase / Angularfire 文档中找不到任何相关信息。

谢谢

这称为“展开运算符,是现代 JavaScript 的一部分。它实质上用 data 中的 key/value 对替换了 data

所以说 data 是:

const id = 209103;
const data = { nickname: "puf", name: "Frank van Puffelen" }

然后:

return { id, ...data };

等同于:

return { id: 209103, nickname: "puf", name: "Frank van Puffelen" };

有关完整详细信息,请参阅 MDN 页面:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator