typescript - 三重点运算符和 & 运算符对类型的解释
问题描述
有人可以解释以下代码片段的含义吗?
const data: admin.auth.UserRecord & Partial<User> = {
...(await admin.auth().getUser(uid))
};
解决方案
&
创建一个交集类型。
交集类型结合了多种类型的属性。TypeScript 文档说,“这种类型的对象将具有所有 [the] 类型的所有成员。”
type UserRecord = {
p1: string;
p2: string;
};
type User = {
p3: string;
p4: string;
};
type UserRecordAndPartialUser = UserRecord & Partial<User>;
const userRecordAndPartialUser = {
p1: "value1",
p2: "value2",
p3: "value3",
p4: "value4"
};
浅层将...
内部对象克隆到外部对象。
MDN 文档说,“将自己的可枚举属性从提供的对象复制到新对象上。”
const anotherUserRecordAndPartialUser = {
...userRecordAndPartialUser
};
console.log(anotherUserRecordAndPartialUser);
// {
// p1: "value1",
// p2: "value2",
// p3: "value3",
// p4: "value4"
// };
推荐阅读
- google-chrome-extension - Chrome 网络扩展 DeclarativeNetRequest 不会阻止 main_frame 中的拦截请求
- python - 如何比较多个字典以找出重复的键以及重复的次数
- android - 如何编译扩展我的片段的类
- bash - 如何在shell中提取两个单词之间的值
- c# - 对角线运动比正常运动更快
- python - 如何在 matplotlib 补丁集合中设置限制
- javascript - 将表单从父级和 iframe 提交到同一个目标
- python - 通过 pyodbc 从 Python 连接到 Db2 时出错
- java - 如何将“hadoop jar”命令迁移到 GCP?
- dc.js - dc.js 表——选择行,突出显示 onclick 并为 Crossfilter 应用过滤器