TypeScript:从类型减法类型中删除键

TypeScript:从类型减法类型中删除键,第1张

TypeScript:从类型/减法类型中删除键

虽然没有内置的减法类型,但是您现在可以将其入侵:

type Sub0<    O extends string,    D extends string,> = {[K in O]: (Record<D, never> & Record<string, K>)[K]}type Sub<    O extends string,    D extends string,    // issue 16018    Foo extends Sub0<O, D> = Sub0<O, D>> = Foo[O]type Omit<    O,    D extends string,    // issue 16018    Foo extends Sub0<keyof O, D> = Sub0<keyof O, D>> = Pick<O, Foo[keyof O]>

在问题的情况下,您可以执行以下 *** 作:

type ExcludeCart<T> = Omit<T, 'cart'>

使用Typescript> = 2.6,可以将其简化为:

export type Sub<    O extends string,    D extends string    > = {[K in O]: (Record<D, never> & Record<string, K>)[K]}[O]export type Omit<O, D extends string> = Pick<O, Sub<keyof O, D>>

在 *** 场上测试



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642366.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存