TS 类型体操:图解一个复杂高级类型
TS 類型體操:圖解一個復(fù)雜高級類型
之前我們零散地了解了一些 TypeScript 類型體操的套路 ,但是沒有綜合練習下,今天就來做個高難度的體操 ,它會綜合運用模式匹配、構(gòu)造、遞歸等套路 ,對提升類型編程水平很有幫助。
我們要實現(xiàn)的高級類型如下:
圖片
它的類型參數(shù)是參數(shù)字符串 query string ,會返回解析出的參數(shù)對象,如果有同名的參數(shù),會把值做合并。
先不著急實現(xiàn) ,我們先回顧下相關(guān)的類型體操基礎(chǔ) :
類型體操基礎(chǔ)
模式匹配
模式匹配是指用一個類型匹配一個模式類型來提取其中的部分類型到 infer 聲明的局部變量中 。
比如提取 a=b 中的 a 和 b:
圖片
這種模式匹配的套路在數(shù)組 、字符串、函數(shù)等類型中都有很多應(yīng)用。
詳細了解可以看之前的一篇文章 :模式匹配-讓你 ts 類型體操水平暴增的套路
構(gòu)造
映射類型用于生成索引類型