【问题标题】:index an object with the keyof an interface while the value is a function with the return type of that key使用接口的键索引对象,而值是具有该键的返回类型的函数
【发布时间】:2021-01-31 05:15:26
【问题描述】:

这是我的界面:

interface Person{
    name: string
    age: number
    hobbies: string[]
}



const processors : {[functioname: keyof Person}: (value: string)=> Person[fuctionname]} =
{
    name: (value)=>{}//must return string
    age: (value)=>{}//must return a number
}

我希望处理器是由键索引的函数并返回相同类型的值

所以如果key是name,返回类型应该是接口中的字符串

【问题讨论】:

    标签: typescript


    【解决方案1】:

    你需要使用Type[key]构造。

    这里是一个例子,注意type Proc<T>

    interface Person{
        name: string
        age: number
        hobbies: string[]
    }
    
    
    type Proc<T> = {
        [key in keyof T]: ()=> T[key]
    }
    
    const processors : Proc<Person> =
    {
        name: ()=>'',//must return string
        age: ()=>5,//must return a number
        hobbies: ()=> []
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 2018-10-26
      • 2021-10-02
      • 2020-01-07
      相关资源
      最近更新 更多