亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

TypeScript:如何顯式地將類型傳遞給此函數的泛型

TypeScript:如何顯式地將類型傳遞給此函數的泛型

胡說叔叔 2022-12-22 14:49:15
我正在學習 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
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

假設您真的想顯式傳遞一個類型,我認為extends在函數調用中不允許使用 using 。

getValues<typeof obj, keyof typeof obj>(obj, ['a'])


查看完整回答
反對 回復 2022-12-22
  • 1 回答
  • 0 關注
  • 80 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號