日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
TS 4.7 版本新特性,讓 Infer 更簡單
type FirstIfString = T extends [infer S, ...unknown[]]
? S extends string
? S
: never
: never;

在以上代碼中,F(xiàn)irstIfString 工具類型使用了 TypeScript 的條件類型、條件鏈和 infer 類型推斷。在第一個條件類型中,我們判斷類型參數(shù) T 的實際類型是否為非空的元組類型,同時使用 infer 聲明了類型變量 S,用于存儲模式匹配過程中,所捕獲元組類型第一個元素的類型。

10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有合水免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

而在第二個條件類型中,我們會繼續(xù)判斷類型變量 S 是否為字符串類型的子類型,若條件滿足的話,則會返回類型變量 S 所對應(yīng)的類型,否則所有條件類型的 false 分支都會返回 never 類型。

介紹完 FirstIfString 工具類型的作用之后,我們來驗證一下它的功能:

// string
type A = FirstIfString<[string, number, number]>;

// "hello"
type B = FirstIfString<["hello", number, number]>;

// "hello" | "world"
type C = FirstIfString<["hello" | "world", boolean]>;

// never
type D = FirstIfString<[boolean, number, string]>;

由以上結(jié)果可知,F(xiàn)irstIfString 工具類型是可以正常使用的。那么現(xiàn)在問題來了,該工具類型內(nèi)部使用了兩個條件類型,我們能否使用一個條件類型來實現(xiàn)同樣的功能呢?答案是可以的!TypeScript 4.7 版本允許我們?yōu)?infer type 添加可選的 extends 子句,用于指定類型變量的顯式約束。


本文標(biāo)題:TS 4.7 版本新特性,讓 Infer 更簡單
標(biāo)題來源:http://www.5511xx.com/article/dhhsdhi.html