第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【九月打卡】第3天 TypeScript學(xué)習(xí) 9-26章

课程名称: 晋级TypeScript高手,成为抢手的前端开发人才

课程章节: 9-26 【高级类型 Omit] 分解掌握Omit

课程讲师: keviny79

课程内容:
本章节主要讲解 TypeScript高级类型Omit

Omit

Omit 反向抓取属性数据,剔除不需要的属性,保留需要的属性。
Omit 使用 两个 Ts高级类型 Pick 和 Exclude

语法:

type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>

解析:

  1. Exclude<keyof T, K> ,K的联合类型 有在 T联合类型 中出现就剔除,保留没有在 K 中出现的类型,如下
    // 传递联合类型
    type Exclude<T, K> = T extends K ? never : T
    type ListType = {
    	name: string,
    	age: number,
    	list: Array<string>,
    	size: number
    }
    // keyof ListType 提取 ListType的key值,变为联合类型
    // "name" | "age" | "list" | "size"
    // 剔除 提取后的联合类型 中的 "name" | "list" 
    // 结果一个联合类型 "age" | "size"
    type test = Exclude<keyof ListType, "name" | "list">
    
  2. Pick<T, Exclude<keyof T, K>>,抓取 T 对象类型中 Exclude 返回的联合类型,如:
    // 这里为了直观对Pick和Exclude进行分离
    type Exclude<T, K> = T extends K ? never : T
    
    type Pick<T, K> = {
    	[P in keyof K]: T[P]
    }
    
    type ListType = {
    	name: string,
    	age: number,
    	list: Array<string>,
    	size: number
    }
    // 1. 剔除 ListType 中 list 和 age
    // 得到 "name" | "size" | "age" 联合类型
    type ExcludeType = Exclude<keyof ListType, "list">
    
    // 2. 抓取 ListType 中 "name"、"size" 后组合新的对象类型
    // 得到{name: string,size: number, age: number,}
    type PickType = Pick<ListType, ExcludeType>
    
  3. 最后看type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>,就可以清楚的明白 T表示传递的对象类型,K表示传递必须是T对象中属性。返回对象,对象中的属性就是剔除了 T 中有 K 的属性。列:
    type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
    
    type ListType = {
    	name: string,
    	age: number,
    	list: Array<string>,
    	size: number
    }
    // 不需要 ListType 中 list 变量,就可以这样做
    // {
    // name: string;
    // age: number;
    // size: number;
    // }
    type OmitListType = Omit<ListType, "list">
    

使用场景:
用于一个对象属性中有很多属性,但需要去掉其中两三个不用的,有不想再声明一个类型,一个一个再添加需要的对象属性时,就可以使用Omit。

课程收获:
本节了解了 Omit 高级类型是 Pick 和 Exclude 的组合使用,对Pick 和 Exclude 有了更深刻的理解

图片描述

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消