2017-10-20 5 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
을 유형에 대한 기본값을 지정하는 것입니다 일반에

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

구문 T = S하지만 :

당신은 Key extends keyof Object합니다 어떤 식 으로든 형식을 제한하지 않습니다.