TypeScript 對映型別
在實際應用中,可能需要將現有型別轉換為可選,看如下程式碼例項:
[typescript] 純文字檢視 複製程式碼interface Person { name: string; age: number; location: string; }
將上面的介面型別中的屬性轉換為可選,程式碼如下:
[typescript] 純文字檢視 複製程式碼interface PartialPerson { name?: string; age?: number; location?: string; }
對映型別轉換可以使用如下方式:
[typescript] 純文字檢視 複製程式碼type Partial<T> = { [P in keyof T]?: T[P]; }; type PartialPerson = Partial<Person>;
特別說明:Partial已經在TypeScript內建,還有一個常用的內建Readonly<T>,程式碼如下:
[typescript] 純文字檢視 複製程式碼interface Person { name: string; age: number; location: string; } type ReadonlyPerson = Readonly<Person>;
再來看一段非內建的,程式碼例項如下:
[typescript] 純文字檢視 複製程式碼interface Person { name: string; age: number; location: string; } let person:Person={ name: "螞蟻部落", age: 4, location: "青島市南區" } // 從T中選取一組屬性K declare function pick<T, K extends keyof T>(obj: T, ...keys: K[]): Pick<T, K>; const nameAndAgeOnly = pick(person, "name", "age"); // { name: string, age: number }
相關文章
- TypeScript 之對映型別TypeScript型別
- 搞懂 TypeScript 中的對映型別(Mapped Types)TypeScript型別APP
- TypeScript 官方手冊翻譯計劃【十】:型別操控-對映型別TypeScript型別
- TypeScript this型別TypeScript型別
- TypeScript 泛型型別TypeScript泛型型別
- Typescript:基本型別TypeScript型別
- TypeScript Widened型別TypeScriptIDE型別
- TypeScript Never型別TypeScript型別
- TypeScript Any型別TypeScript型別
- TypeScript 索引型別TypeScript索引型別
- TypeScript 型別相容TypeScript型別
- TypeScript 交叉型別TypeScript型別
- TypeScript void 型別TypeScript型別
- TypeScript 字串型別TypeScript字串型別
- TypeScript 型別安全TypeScript型別
- Redis - 資料型別對映底層結構Redis資料型別
- TypeScript type 型別別名TypeScript型別
- springboot~mybatis-plus中使用TypeHandler做型別對映Spring BootMyBatis型別
- TypeScript 聯合型別TypeScript型別
- TypeScript 數值型別TypeScript型別
- TypeScript 布林型別TypeScript型別
- Typescript高階型別TypeScript型別
- TypeScript 函式型別TypeScript函式型別
- TypeScript資料型別TypeScript資料型別
- TypeScript 型別系統TypeScript型別
- TypeScript 型別推斷TypeScript型別
- TypeScript 型別保護TypeScript型別
- TypeScript 型別斷言TypeScript型別
- TypeScript 陣列型別TypeScript陣列型別
- TypeScript 字面量型別TypeScript型別
- TypeScript型別系統和基礎型別TypeScript型別
- java高階用法之:在JNA中使用型別對映Java型別
- typeScript 型別斷言、聯合型別和交叉型別(七)TypeScript型別
- TypeScript 混合型別介面TypeScript型別
- TypeScript Null和Undefined 型別TypeScriptNullUndefined型別
- TypeScript-----資料型別TypeScript資料型別
- TypeScript 字串字面量型別TypeScript字串型別
- 【譯】TypeScript 的型別(一)TypeScript型別