我正在學習 TypeScript,我正在嘗試使用映射類型來編寫一個函數,該函數只允許用戶在對象上確實存在鍵時從對象中提取值。這是代碼const obj = { a: 1, b: 2, c: 3}function getValues<T, K extends keyof T>(obj: T, keys: K[]) { return keys.map(key => obj[key])}getValues(obj, ['a', 'b'])所以在這里我定義了兩個類型參數T并且K它們是由 TS 編譯器推斷的,因為當我調用函數時我沒有顯式地傳入類型?,F在我的問題是,如果我想將類型顯式傳遞給函數,我應該如何重寫函數呢?我想這樣做是因為我很好奇這里的類型推斷是如何工作的所以這是我的嘗試getValues<typeof obj, string[] extends keyof typeof obj>(obj, ['a'])但是編譯器并不高興。存在解析錯誤Parsing error: '?' expected
TypeScript:如何顯式地將類型傳遞給此函數的泛型
胡說叔叔
2022-12-22 14:49:15