代码之家  ›  专栏  ›  技术社区  ›  Kareem Adel

创建函数类型(TypeScript接口)

  •  1
  • Kareem Adel  · 技术社区  · 2 年前

      type BType = number | string | array
      enum AEnum = { number = "number" , string : "string" , array : "array"} 
    
      const fc = (a : AEnum , b : BType)=>{ 
       //...
      }
     
    

    我需要的是当 a = AEnum.array 然后 b 必须是 array ,否则应显示错误

    1 回复  |  直到 2 年前
        1
  •  2
  •   Matthieu Riegler    2 年前

    只需重载函数!

    type BType = number | string | []
    enum AEnum { number = "number", string = "string", array = "array" }
    
    function foo(a: AEnum.number, b: number): unknown;
    function foo(a: AEnum.string, b: string): unknown;
    function foo(a: AEnum.array, b: []): unknown;
    function foo(a: AEnum, b: BType): unknown {
        return void;
    }
    

    Playground