IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    TypeScript 挑战(六)- 实现内置的Exclude

    Durban发表于 2020-10-10 22:47:10
    love 0

    学习记录 - 实现内置的Exclude <T,U>

    题目简介


    实现内置的Exclude <T,U>

    从T中排除可分配给U的那些类型


    测试用例


    import { Equal, Expect, ExpectFalse, NotEqual } from '@type-challenges/utils'
    
    type cases = [
        Expect<Equal<MyExclude<"a" | "b" | "c", "a">, Exclude<"a" | "b" | "c", "a">>>,
        Expect<Equal<MyExclude<"a" | "b" | "c", "a" | "b">, Exclude<"a" | "b" | "c", "a" | "b">>>,
        Expect<Equal<MyExclude<string | number | (() => void), Function>, Exclude<string | number | (() => void), Function>>>,
    ]

    答案


    type MyExclude<T, U> = T extends U ? never : T;

     



沪ICP备19023445号-2号
友情链接