2017-10-20 80 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在一個通用的是指定的類型的默認,但沒有以任何方式限制類型。

相關問題