日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Exclude 工具類型八個使用技巧

來源: 責編: 時間:2024-04-02 17:23:37 234觀看
導讀Exclude 是 TypeScript 中內置的工具類型,它用于從一個聯合類型中排除掉你不希望包含的類型,生成一個新的類型。這個工具類型在日常開發中非常有用,它能夠幫助我們編寫類型安全的代碼和更好地實現代碼復用。/** * Exclud

drL28資訊網——每日最新資訊28at.com

Exclude 是 TypeScript 中內置的工具類型,它用于從一個聯合類型中排除掉你不希望包含的類型,生成一個新的類型。這個工具類型在日常開發中非常有用,它能夠幫助我們編寫類型安全的代碼和更好地實現代碼復用。drL28資訊網——每日最新資訊28at.com

/** * Exclude from T those types that are assignable to U. * typescript/lib/lib.es5.d.ts */type Exclude<T, U> = T extends U ? never : T;type T0 = Exclude<"a" | "b" | "c", "a" | "b">// type T0 = "c"

本文我將介紹 Exclude 工具類型的 8 個使用技巧,掌握這些技巧之后,在工作中你就能更好地利用 Exclude 工具類型來滿足不同的使用場景。drL28資訊網——每日最新資訊28at.com

1.排除指定的基本數據類型

type MyTypes = string | number | boolean;type StringOrNumber = Exclude<MyTypes, boolean>;let uid: StringOrNumber = "semlinker" // Okuid = 2024 // Okuid = false // Error// Type 'boolean' is not assignable to type 'StringOrNumber'.

2.排除 string 或 number 類型的子類型

type Status = "success" | "error" | 200 | 500;type StringStatus = Exclude<Status, number>; // type StringStatus = "success" | "error"type NumberStatus = Exclude<Status, string>// type NumberStatus = 200 | 500

3.排除兩個聯合類型的共有成員

type TaskStatus = "Todo" | "InProgress" | "Done" | "Archived";type ModuleHandledStatus = "Todo" | "Done" | "OnHold";type TaskOnlyStatus = Exclude<TaskStatus, ModuleHandledStatus>;// type TaskOnlyStatus = "InProgress" | "Archived"

4.排除含有特定屬性的子類型

Animal 聯合類型,包含了多種動物的描述對象,我們想從中排除含有 "legs" 屬性的子類型。drL28資訊網——每日最新資訊28at.com

type Animal =    | { type: 'dog', legs: number }    | { type: 'cat', legs: number }    | { type: 'fish', fins: number };type AnimalsWithFins = Exclude<Animal, { legs: number }>;const fish: AnimalsWithFins = { type: 'fish', fins: 6 }; // Okconst dog: AnimalsWithFins = { type: 'dog', legs: 4 }; // Error// Type '"dog"' is not assignable to type '"fish"'.

5.排除同個屬性不同類型的子類型

除了可以使用 Exclude<Animal, { legs: number }> 來創建 AnimalsWithFins 類型,該類型還可以通過 Exclude<Animal, { type: 'dog' | 'cat' }> 這種方式來創建。drL28資訊網——每日最新資訊28at.com

type Animal =    | { type: 'dog', legs: number }    | { type: 'cat', legs: number }    | { type: 'fish', fins: number };type AnimalsWithFins = Exclude<Animal, { type: 'dog' | 'cat' }>;const fish: AnimalsWithFins = { type: 'fish', fins: 6 }; // Okconst dog: AnimalsWithFins = { type: 'dog', legs: 4 }; // Error// Type '"dog"' is not assignable to type '"fish"'.

6.排除枚舉類型的某些成員

利用 Exclude 工具類型可以排除枚舉中的某些成員,從而得到一個新的類型。drL28資訊網——每日最新資訊28at.com

enum Status { New, InProgress, Done, Cancelled }type ActiveStatus = Exclude<Status, Status.Done | Status.Cancelled>;// type ActiveStatus = Status.New | Status.InProgress

7.排除指定前綴的字符串字面量類型

利用 Exclude 工具類型和模板字面量類型,我們可以實現從字符串字面量聯合類型中,排除指定前綴或后綴的字符串字面量。drL28資訊網——每日最新資訊28at.com

type LogEvent =    | "userLogin"    | "userLogout"    | "systemException"    | "systemCrash"    | "performanceLoadTime"    | "performanceApiResponse";type SystemAndPerformanceEvents = Exclude<LogEvent, `user${string}`>;// type SystemAndPerformanceEvents = "systemException" | "systemCrash" | "performanceLoadTime" | "performanceApiResponse"

8.排除不同格式的字符串字面量類型

type LogEvent =    | "userLogin"    | "userLogout"    | "UserLogin" // New    | "UserLogout" // New    | "systemException"    | "systemCrash"    | "performanceLoadTime"    | "performanceApiResponse";type SystemAndPerformanceEvents = Exclude<LogEvent, `${"user" | "User"}${string}`>;// type SystemAndPerformanceEvents = "systemException" | "systemCrash" | "performanceLoadTime" | "performanceApiResponse"

本文鏈接:http://m.www897cc.com/showinfo-26-80891-0.htmlExclude 工具類型八個使用技巧

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 提高生產力!這10個Lambda表達式必須掌握,開發效率嘎嘎上升!

下一篇: 我想做獨立開發,該如何起步?

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • 小米官宣:2023年上半年出貨量中國第一!

    今日早間,小米電視官方微博帶來消息,稱2023年小米電視上半年出貨量達到了中國第一,同時還表示小米電視的巨屏風暴即將開始。“公布一個好消息2023年#小米電視上半年出貨量中國
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • 不容錯過的MSBuild技巧,必備用法詳解和實踐指南

    一、MSBuild簡介MSBuild是一種基于XML的構建引擎,用于在.NET Framework和.NET Core應用程序中自動化構建過程。它是Visual Studio的構建引擎,可在命令行或其他構建工具中使用
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數量是否小于或等于一個數字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 多線程開發帶來的問題與解決方法

    使用多線程主要會帶來以下幾個問題:(一)線程安全問題  線程安全問題指的是在某一線程從開始訪問到結束訪問某一數據期間,該數據被其他的線程所修改,那么對于當前線程而言,該線程
  • 小紅書1周漲粉49W+,我總結了小白可以用的N條漲粉筆記

    作者:黃河懂運營一條性教育視頻,被54萬人&ldquo;珍藏&rdquo;是什么體驗?最近,情感博主@公主是用鮮花做的,火了!僅僅憑借一條視頻,光小紅書就有超過128萬人,為她瘋狂點贊!更瘋狂的是,這
  • 本地生活這塊肥肉,拼多多也想吃一口

    出品/壹覽商業 作者/李彥編輯/木魚拼多多也看上本地生活這塊蛋糕了。近期,拼多多在App首頁&ldquo;充值中心&rdquo;入口上線了本機生活界面。壹覽商業發現,該界面目前主要
  • 郭明錤稱華為和江淮汽車合作開發問界MPV,定價100萬左右、計劃明年量產

    8 月 1 日消息,郭明錤今天在 Medium 平臺發布博文,稱華為正在和江淮汽車合作,開發售價在 100 萬元的問界 MPV,預計在 2024 年第 2 季度量產,銷量目標為
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美一区亚洲| 亚洲视频大全| 国产视频精品网| 好吊日精品视频| 亚洲国产精品悠悠久久琪琪| 亚洲人体大胆视频| 亚洲一区免费看| 久久久国产精品亚洲一区| 美女脱光内衣内裤视频久久影院 | 国产日韩欧美三区| 亚洲国产精品国自产拍av秋霞| 一区二区三区视频在线播放| 欧美一区二区三区免费观看| 免费人成精品欧美精品| 欧美日韩卡一卡二| 国内一区二区三区在线视频| 亚洲精品中文字| 西西裸体人体做爰大胆久久久| 免费看亚洲片| 国产精品美女主播| 亚洲国产99精品国自产| 亚洲欧美精品伊人久久| 牛牛国产精品| 亚洲一级黄色av| 欧美在线视频一区二区三区| 欧美激情成人在线| 国产欧美一区二区三区在线看蜜臀| 亚洲国产欧洲综合997久久| 午夜精品99久久免费| 欧美va天堂在线| 国产日韩欧美综合| 99日韩精品| 久久这里只有精品视频首页| 国产精品久久久久久模特| 亚洲国产日韩欧美在线图片| 欧美一级视频免费在线观看| 欧美人成在线| 亚洲国产成人tv| 午夜精品一区二区三区电影天堂 | 一本色道久久加勒比88综合| 乱码第一页成人| 国产精品一区在线观看| 99视频精品| 老巨人导航500精品| 国产精品女主播一区二区三区| 亚洲欧洲精品成人久久奇米网| 欧美一级淫片播放口| 欧美日韩一区三区四区| 亚洲国产成人久久| 久久av老司机精品网站导航 | 亚洲欧洲一区二区三区久久| 久久激五月天综合精品| 国产精品性做久久久久久| 99re视频这里只有精品| 免播放器亚洲| 影音先锋在线一区| 久久国产一二区| 欧美一区二区在线看| 国产精品久久久久久久久久久久 | 一区二区高清视频在线观看| 欧美99久久| 一色屋精品亚洲香蕉网站| 欧美在线视频二区| 国产精品一区二区三区四区| 亚洲一区二区三区四区在线观看 | 亚洲国内欧美| 嫩草影视亚洲| 在线观看国产欧美| 久久亚裔精品欧美| 国产亚洲综合精品| 欧美亚洲视频一区二区| 国产免费成人在线视频| 亚洲影视在线| 欧美日韩国产天堂| 一本到高清视频免费精品| 欧美精品久久久久久| 最新亚洲电影| 欧美精品一区三区| 一本色道久久综合精品竹菊| 欧美日韩视频| 亚洲小视频在线| 国产精品久久午夜| 亚洲欧美文学| 国产三级欧美三级日产三级99| 午夜精品久久久| 国产日韩一区二区三区| 欧美一区二区三区在线观看视频 | 在线观看一区二区精品视频| 久久久久国产精品一区二区| 狠狠色丁香婷婷综合久久片| 久久精品亚洲精品| 在线观看亚洲| 欧美大片第1页| 日韩一级不卡| 久久久久久久久岛国免费| 国产资源精品在线观看| 久久婷婷久久| 亚洲激情在线激情| 欧美日韩国产成人高清视频| 一区二区欧美日韩视频| 国产精品成人一区二区| 亚洲欧美成人在线| 国产婷婷成人久久av免费高清| 久久九九国产精品怡红院| 1024亚洲| 欧美日韩福利| 亚洲在线播放| 国产婷婷成人久久av免费高清| 久久一综合视频| 日韩亚洲国产精品| 国产精品嫩草影院av蜜臀| 亚洲欧美中文字幕| 在线国产亚洲欧美| 欧美日韩麻豆| 欧美一区二区三区久久精品| 精品成人一区| 欧美日韩国语| 久久福利精品| 亚洲三级性片| 国产精品永久免费观看| 久久久999精品视频| 亚洲理论电影网| 国产欧美精品一区二区色综合 | 国内精品久久久久久久果冻传媒| 你懂的视频一区二区| 亚洲视频免费在线| 国产一区91| 欧美高清在线视频观看不卡| 亚洲一区二区在线播放| 狠狠爱综合网| 欧美日韩国产在线观看| 欧美一区二区三区久久精品| 最新高清无码专区| 国产欧美精品一区二区色综合 | 久久久久欧美精品| 一区二区精品在线| 黄色精品一二区| 欧美视频在线不卡| 久久久亚洲国产天美传媒修理工| 99综合在线| 极品日韩久久| 国产精品第三页| 牛牛影视久久网| 欧美亚洲免费在线| 一本久久a久久免费精品不卡| 国际精品欧美精品| 欧美午夜片在线观看| 玖玖综合伊人| 亚洲欧美经典视频| 亚洲精品日韩欧美| 国产主播精品| 国产精品久久久久毛片软件| 你懂的国产精品| 久久福利精品| 亚洲视频香蕉人妖| 亚洲观看高清完整版在线观看| 国产日本欧美在线观看| 欧美日韩的一区二区| 久久一二三四| 香蕉久久国产| 9i看片成人免费高清| 1024成人网色www| 国产欧美综合一区二区三区| 欧美日韩国产综合一区二区| 麻豆免费精品视频| 久久国产黑丝| 亚洲欧美国产精品va在线观看 | 欧美亚洲免费电影| 国产精品99久久不卡二区| 亚洲国产精品国自产拍av秋霞 | 亚洲免费影院| 一区二区冒白浆视频| 亚洲国产美女精品久久久久∴| 国产午夜精品视频| 国产精品亚洲欧美| 国产精品成人一区二区三区吃奶 | 国产精品久久久久91| 欧美日韩中文在线观看| 欧美高清在线视频| 久久综合色综合88| 久久久精品999| 欧美中文在线观看| 性xx色xx综合久久久xx| 亚洲欧美日韩成人| 亚洲午夜精品久久| 在线视频欧美日韩| 99精品欧美一区二区三区| 亚洲精品看片| 91久久精品国产91久久性色tv| 伊人久久综合97精品| 国内精品久久久久影院色| 国产九九精品视频| 国产精品一区在线观看你懂的| 国产精品久久毛片a| 欧美亚一区二区| 欧美婷婷久久| 欧美午夜在线一二页| 欧美四级电影网站| 欧美性片在线观看| 国产精品激情av在线播放| 国产精品多人| 国产精品日韩久久久| 国产精品亚洲一区| 国产欧美一区二区三区沐欲|