javascript - 如何使用 Omit<> 以简洁的方式省略多个属性

标签 javascript typescript

在下面的类型定义中,我两次使用 OmitB 定义中删除两个属性。 我想知道是否可以只使用一个 Omit 但一次性删除两个或更多属性。

export type A = Readonly<{
  x: number;
  y: number;
  j: string;
  k: string;
}>;

export type B = Omit<A, 'j'> & Omit<A, 'k'>

最佳答案

你只需要使用一个联合作为第二个类型参数,从第一个类型参数中删除联合中的所有成分:

export type A = Readonly<{
  x: number;
  y: number;
  j: string;
  k: string;
}>;

export type B = Omit<A, 'j' | 'k'>
// Same as
// type B = {
//     readonly x: number;
//     readonly y: number;
// }

play

关于javascript - 如何使用 Omit<> 以简洁的方式省略多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57603599/

相关文章:

javascript - 当屏幕分辨率低于 600px 时无法隐藏 <a> 标签

javascript - 将输入值存储在 ionic Angular 为 5 的数组中

typescript - AWS SDK v3 - 如何让 TypeScript 编译具有自定义超时的 DynamoDB 客户端的构建?

在 foreach 循环后使用多个 mongoose find 进行 JavaScript Promise

javascript - Web 驱动程序示例不起作用

javascript - 我可以使用 webpack 单独缩小文件吗?

javascript - Reactjs - 如何将值从子组件传递到祖父组件?

html - 如何滚动到 Angular 页面中的 anchor

typescript - @Watch 未触发

cordova - Angular 2/ionic 2 从本地设备文件系统读取 json 文件