2017-10-20 86 views
0

试图实现与声音类别功能的勇气,但我做错了什么:型“重点”不能用于索引类型“对象”

function pluck<Object extends {}, Key = keyof Object>(key: Key): (o: Object) => Object[Key] { 
    return object => object[key]; 
} 

TS错误:

Type 'Key' cannot be used to index type 'Object'

回答

1

你想Key extends keyof Object

function pluck<Object extends {}, Key extends keyof Object>(key: Key): (o: Object) => Object[Key] { 
    return object => object[key]; 
} 

语法T = S在一个通用的是指定的类型的默认,但没有以任何方式限制类型。

相关问题